SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

パスワード自動作成

先日、【パスワードアタック】で「簡単なパスワードはダメだぞ!」と警告したのですが、難しいパスワードをなかなか考えられない人のために、パスワードを自動生成するプログラムを作りました。

  • 起動すると、アルファベット小文字・大文字・数字・記号を混ぜた8文字のパスワードが自動で表示されます。
  • 指定されたキーを押すと、設定を変更できます。
    • 1 アルファベット小文字のON/OFF
    • 2 アルファベット大文字のON/OFF
    • 3 数字のON/OFF
    • 4 記号のON/OFF
    • +− 文字数の増減(1〜32文字まで)
    • その他のキー パスワードの再作成

個人での利用の他、業務で何個もパスワードを考えないといけない時にも使えるでしょう。

プログラムリスト

10 '*Password Make
20 CLV:P=8
30 GSB 300:GSB 340:GSB 380:GSB 420
40 '@LOOP
50 GSB 140:BEEP:CLK
60 K=INKEY():IF !K CONT
70 IF K=49 GSB 300
80 IF K=50 GSB 340
90 IF K=51 GSB 380
100 IF K=52 GSB 420
110 IF K=43 P=P+(P<32)
120 IF K=45 P=P-(P>1)
130 GOTO 40
140 '@PRT
150 CLS
160 ?"*SET(1=ON,0=OFF)":?
170 ?"1)Lower case letter=";L
180 ?"2)Upper case letter=";U
190 ?"3)Number=";N
200 ?"4)Symbol=";S
210 ?"+-)Length=";P
220 ?"Else)Remake"
230 ?:?"*Password"
240 IF L|U|N|S=0 RTN
250 FOR I=1 TO P
260 C=RND(94):IF ![C] CONT
270 ?CHR$(C+33);
280 NEXT
290 RTN
300 '@LOWER
310 L=!L
320 FOR I=64 TO 89:[I]=![I]:NEXT
330 RTN
340 '@UPPER
350 U=!U
360 FOR I=32 TO 57:[I]=![I]:NEXT
370 RTN
380 '@NUM
390 N=!N
400 FOR I=15 TO 24:[I]=![I]:NEXT
410 RTN
420 '@SYM
430 S=!S
440 FOR I=0 TO 14:[I]=![I]:NEXT
450 FOR I=25 TO 31:[I]=![I]:NEXT
460 FOR I=58 TO 63:[I]=![I]:NEXT
470 FOR I=90 TO 93:[I]=![I]:NEXT
480 RTN