パスワードリンクで散々やってきたくせに一度も実用レベルを作っていなかった。
動機はそのまま。今までパスワードを判定するタイプの暗号化スクリプトを作ってきたが、実用的な暗号化スクリプトは未作成だった。
今回は実用的に、パスワードが違うと正常な複合化が行われない変わりに、逆算して解読することが100%不可能な暗号系とする。
暗号化方法は至って簡単で、入力したデータを数値に変換した後、排他的論理和(XOR)で暗号化する。XORを通した数値はパスワードに完全に依存するため、きれいな入力データもランダムなパスワードを設定すれば、原理的にランダムな数値しか吐かない。
先ず入力された文字列とパスワードをLatinコードに変換し、配列に格納。それらを順番にXORにかけていき、連続的な数列に戻してから100進数に圧縮して出力する。解読時はこれと逆の処理を行えば元の文字列が復元できる。
文章・パスワード共に全ての文字が使用可能。配列による文字単位の暗号化であるため、XORの変換効率を高めるには半角英数に加えて日本語パスワードが有効。