No.1
- 回答日時:
重複といっているのは、どういうことでしょう?
・同一のパスワードが生成されることがない?
・同じ文字を2回使うことがない?
別にJavaがどうこうという話ではないと思うのですが、
たぶん後者だと思うので、その前提で書きます。
(前者だとしたら、なんでパスワードがユニークになる必要があるのか
分からない…)
こういったロジックはいかがでしょう?
1)パスワードで使用してよい文字列を配列に列挙する。
A,B,C,D,E,F,G,H....
2)この配列の長さに合わせて、乱数を2つ取得する。
10個の配列なら、0~9までの乱数2つ
3)取得した乱数2つを配列の添字に使用してデータを取り替える。
4) 2),3)の処理を十分な回数繰り返す。
5)パスワードの長さ分、先頭から取り出す→パスワード。
分かりやすく言うと、トランプのように重複のないカードを
十分にシャッフルして、先頭から6枚でも8枚でもとった場合、
ランダムでも重複しませんよね?それと同じです。
パスワードにふさわしくない文字(iとjとか、gとqとか)を
含ませないようにすることも簡単です。
この回答への補足
回答ありがとうございます。
前者なんですけどね(汗)
パスワードを発行するするときにユーザごとに違うものを発行したいんですよ。
乱数だけでは同じパスワードができてしまいますし、
ユーザの情報(電話番号とか)からパスワードを生成する方法があればいいんですけどねぇ・・・悩んでます。
No.2
- 回答日時:
前者なんですか、すいません。
早とちりで。でも、前にも書いたとおり私にはパスワードをユニークにする
意味が分かりません。(私が知識不足なのかもしれませんが…。)
パスワードだけでユーザーを特定させるんですか?
普通はユーザーIDと、パスワードの2つで認識させるものではないでしょうか?
そしてユーザーIDは重複のないユニークなものなので、
この2つのセットで認証すれば、万一同じパスワードが生成されても、
問題ないと思うのですが…。
No.3ベストアンサー
- 回答日時:
「まったく重複がない」というものは作れませんよね。
N種類の文字をM桁つらねた文字列の種類は
最大でN^M (=NのM乗)通りしかないからです。
個人でちょっとしたページを作っている程度であれば、
参考URLをみてみてはどうでしょう。
なおAPIはこれです↓
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
参考URL:http://www.ipa.go.jp/security/awareness/vendor/p …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- Java Javaの問題なのですが、 永久ループを使って以下に従って数値を出力するプログラムを作成する。 ・1 3 2023/06/06 18:43
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて 重複したものがあれば行を削除するとい 1 2023/02/27 18:49
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Java Java 年数計算 3 2023/01/28 10:52
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
応用情報技術者試験の令和元年...
-
VBで作った乱数を一度も重複さ...
-
VBAで配列の計算
-
IF関数でEmpty値を設定する方法。
-
複数のテキストボックスに同じ...
-
C言語 重複しない4ケタの乱数...
-
パソコンキーボードで時分秒を...
-
動的配列が存在(要素が有る)か...
-
EXCEL VBA で、0から?1から?
-
VB.net 引数で配列変数を渡す際...
-
【MFC】GetCount()とGetSize()...
-
マージソートについて
-
MicroSoft BasicのDim文とVisua...
-
Excel VBA 多段階配列の宣言の仕方
-
C言語のread関数に関するファイ...
-
動的配列と固定長配列の違いに...
-
変数を動的に作るには?
-
ジャグ配列とは
-
配列プロパティをREDIMする方法...
-
For文と配列
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
パソコンキーボードで時分秒を...
-
VBAで配列の計算
-
EXCEL VBA で、0から?1から?
-
変数を動的に作るには?
-
VB.net 引数で配列変数を渡す際...
-
動的配列が存在(要素が有る)か...
-
VBで作った乱数を一度も重複さ...
-
配列の要素数を超えた参照のコ...
-
複数のテキストボックスに同じ...
-
C言語 重複しない4ケタの乱数...
-
javaプログラムについて
-
C#の質問
-
Visual C++ でコントロールを...
-
遅延バインディングを使用でき...
-
Excel VBAで配列の途中から(X)M...
-
排列と配列の漢字の使い分けは
-
For文と配列
-
VBでbyte配列型のインスタンス...
-
C言語で3次元配列の課題をして...
おすすめ情報