2011-07-20 3 views
0

私は次のクラスを使用してテキストを暗号化/復号化します。無効なキーを使用すると誤った復号化テキストを返す

http://code.google.com/p/iphonebits/source/browse/trunk/src/Encryption/NSData-AES.m?r=2

これは完璧に動作します。しかし、無効なキー(暗号化キー以外のいずれか)で暗号化されたテキストを復号化すると、これはテキストとそれを復号化されたテキストの実際の長さに戻しません。理由は何でしょうか(これはゼロを返すと思われますか?)これは良い方法ですか?ライブラリは無効な復号化キーのエラーを返すはずですか?それは必須かどうか?

答えて

1

まあありがとう、あなたが提供しているキーが正しいものであれば、アルゴリズムは知ることができません。キーが正しいかどうかを知るには、アルゴリズムが安全でないコピーを持っていなければなりません。それはハッシュのコピーを持っているかもしれませんが、暗号化アルゴリズムと解読アルゴリズムは1つのキーに対してしか機能しないということがあります。あなたの現在の解読は鍵を受け取り、解読アルゴリズムで動作するようにします。結果に元のテキストが反映されるはずですが、キーが間違っていると、間違ったキーに従って生成されたテキストが表示されます。それはすべて正常に動作しています。

+0

ありがとうございます。 commoncryptoのようなライブラリでは、エラーを返します。どのように彼らはそれを行うか? – Dilshan

+1

鍵の長さは、鍵で使用される文字と同様に問題である可能性があります。それ以外の場合は、キー制約を満たせばエラーを返さないはずです。 – Cyprian

+0

ご返信ありがとうございます。感謝。それを受け入れた。 – Dilshan

関連する問題