SSブログ

パスワード作成の話。。(続き) [コンピューター]

エマニエル婦人夫人が亡くなったとか?


式1: Int(Rnd(1#) * 26 ) ⇒ 0, 1, 2, --- 25

という式で0, 1, 2 --- 25の26通りの整数をランダムに発生させるとこまで説明しました。
で、0だったら、A、1だったらBを返すようにするためにはどうすればいいのですかね?

VBA(Visual Basic for Applications)には、ASCII(アスキー)コードを文字に変換
してくれるChr()という関数があります。

Chr(65) ⇒ 'A'
Chr(66) ⇒ 'B'
|
Chr(90) ⇒ 'Z'

英字(大)のASCII(アスキー)コードは65('A')から始まって90('Z')なので、
式1に65を足すことで、英字(大)のASCII(アスキー)コードをランダムに発生
させることができます。

式1: Int(Rnd(1#) * 26 ) ⇒ 0, 1, 2, --- 25
式2: Int(Rnd(1#) * 26 + 65) ⇒ 65, 66, 67, --- 90

さらに、式2をChr()関数で変換することで、英字(大)をランダムに発生することが
できます。

式3: Chr(Int(Rnd(1#) * 26 + 65)) ⇒ 'A', 'B', 'C', --- 'Z'

式3の26, 65の部分を変えれば、他の文字をランダムに発生させることができます。

式4: Chr(Int(Rnd(1#) * 26 + 97)) ⇒ 'a', 'B', 'c', --- 'z'
式5: Chr(Int(Rnd(1#) * 9 + 49)) ⇒ '1', '2', '3', --- '9'

式3、式4、式5を使って、英字(大)、英字(小)、数字をランダムに並べて
パスワードの文字列を作成するにはどうしたらいいでしょうか?
というのは、次回に説明します。


ヤバイぜ!(7)  コメント(2)  トラックバック(1) 
共通テーマ:日記・雑感

ヤバイぜ! 7

コメント 2

cheese999

nice! ありがとうございます。
(^_0)ノ
by cheese999 (2012-10-20 04:35) 

cheese999

誤:エマニエル婦人
正:エマニエル夫人

みたいですね。
(^_0)ノ
by cheese999 (2012-10-20 04:37) 

Facebook コメント

トラックバック 1

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。