2005年11月15日(火) 22時42分41秒 [C/C++言語]
XOR(排他的論理和)で暗号化?
何らかのサーバへのアクセスを代行するアプリケーション(例えばメーラとかFTPクライアントとか)を作る場合、パスワードを保存しておく仕組みが必要です。パスワードの文字列をそのまま保存するのは危険なので、暗号化が必要になります。
で、その暗号化はどうすればいいか…。
気休め程度でいいなら、XOR(排他的論理和)を取るのが楽です。エンコードもデコードも同じ関数に文字列を渡してやるだけでいいので、とってもお手軽です。
ただし、エンコードされた文字列も、根性で復号化できてしまうわけで、本当に「気休め」にしかならない暗号化方法なわけですが。
{
for( ; *targetWord ; ) {
*targetWord++ ^= 0xAA;
}
}
で、このXORを使った暗号化方法、どれくらいの労力でバレちゃいますかね?(^^;)
暗号化したい文字列をそのまんまこの関数に渡したんでは、たくさん暗号化してみて生成された文字列をオリジナルの文字列を比較すれば、結構簡単に分かっちゃうんだろうけど、元の文字列に何か加えるとかちょっと手を加えれば、そう簡単には分からなくなる?
Windows上の場合、Windows APIに暗号化・復号化の関数が用意されてるっぽいので、それを使った方がいいんかな…。
いや、XORを取るだけと比較すれば、何でもそっちの方がいいだろうけど。^^;;;
この日記へのコメントはお気軽に! コメント数:2 トラックバック数:0
| « mixiが不調だ… |
前後のエントリ < 旧 / 新 > | 小泉首相と英語 » |
このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)
どうもここ初めてきてみましたw
投稿者 ベリー : 2005年11月17日 01:56
ベリーさん、どうもいらっしゃいませー。
投稿者 にしし : 2005年12月01日 13:45
コメント数: 2件