Arc4暗号化を行うためにCrypto++ライブラリを使用していました。ここからの参照ですが、完全には説明されていません: http://www.cryptopp.com/wiki/Stream_Cipher。
以下は私のコードです:
string key = "key";
string msg = "hello";
ARC4 arc4((byte*)key.c_str(), sizeof((byte*)key.c_str()));
arc4.ProcessData((byte*)msg.c_str(), (byte*)msg.c_str(), sizeof((byte*)msg.c_str()));
arc4.ProcessData((byte*)msg.c_str(), (byte*)msg.c_str(), sizeof((byte*)msg.c_str()));
cout << msg << endl;
暗号化および復号化後のメッセージは完全にゴミであり、読むことができませんでした。つまり、「こんにちは」に戻って復号化されません。
では、上記のキーでメッセージを暗号化および復号化するにはどうすればよいですか?