dポイントプレゼントキャンペーン実施中!

Linuxにて、とあるデータの暗号化をおこないたいのですが、暗号化するたびに違う結果を出力してもらいたいのです。

例えば、「1234」という数値を暗号化したときに、1回目は「qwer」2回目は「asdf」3回目は・・・といった感じになるようにしたいです。

何かいい方法がありましたら教えてください。

質問者からの補足コメント

  • 書き忘れていましたが、今回はデータの複合は必要ありません。
    なので、非可逆的な暗号化でも問題ありません

      補足日時:2019/02/26 10:17

A 回答 (3件)

暗号化した際に


その一部に次回使用するキー情報を付加するとか、方法はあるだろね
時間情報を使うのも有りだけど、時間情報だと分かってしまえば使用される文字が限定されるから破られる可能性は高くなる

仮に数字だけ使うとして
「1234」の元データに、乱数表から取り出した次回の暗号キー「930」を加えた「1234930」で暗号化する
初回は事前に取り決めた復号キー「999」で復号する

二度目は「1234+372」を暗号化し、復号キーは前回の「930」を使う
三度目は・・・・・

とすれば、常に異なる暗号文字列になる
    • good
    • 0
この回答へのお礼

すみません、自己解決しました。
とりあえず一番参考になったのでベストアンサーとさせていただきます。
回答ありがとうございます。

お礼日時:2019/02/26 11:13

暗号化に使う言語やアルゴリズムは何ですか?


暗号化するからには復号化もできないと意味がありません。
簡単に言えば、同じ文字列でも暗号化したものが毎回違うということは、使う鍵が毎回異なるということです。つまり、毎回暗号化に使った鍵を復号化する人に渡さなければならないということです。

カニな方法としては、例えば暗号化した文字列のはじめの2桁をsaltにするなどという決まりを作るとかでしょうか。
    • good
    • 1
この回答へのお礼

すみません、自己解決しました。
回答ありがとうございます。

お礼日時:2019/02/26 11:13

タイムスタンプを加えたらいいんじゃない知らんけど

    • good
    • 0
この回答へのお礼

すみません、自己解決しました。
回答ありがとうございます。

お礼日時:2019/02/26 11:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!