にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:24:43.

XOR(排他的論理和)で暗号化?

何らかのサーバへのアクセスを代行するアプリケーション(例えばメーラとかFTPクライアントとか)を作る場合、パスワードを保存しておく仕組みが必要です。パスワードの文字列をそのまま保存するのは危険なので、暗号化が必要になります。

で、その暗号化はどうすればいいか…。

気休め程度でいいなら、XOR(排他的論理和)を取るのが楽です。エンコードもデコードも同じ関数に文字列を渡してやるだけでいいので、とってもお手軽です。
ただし、エンコードされた文字列も、根性で復号化できてしまうわけで、本当に「気休め」にしかならない暗号化方法なわけですが。

void EncryptDecrypt( char *targetWord )
{
   for( ; *targetWord ; ) {
      *targetWord++ ^= 0xAA;
   }
}

で、このXORを使った暗号化方法、どれくらいの労力でバレちゃいますかね?(^^;)
暗号化したい文字列をそのまんまこの関数に渡したんでは、たくさん暗号化してみて生成された文字列をオリジナルの文字列を比較すれば、結構簡単に分かっちゃうんだろうけど、元の文字列に何か加えるとかちょっと手を加えれば、そう簡単には分からなくなる?

Windows上の場合、Windows APIに暗号化・復号化の関数が用意されてるっぽいので、それを使った方がいいんかな…。
いや、XORを取るだけと比較すれば、何でもそっちの方がいいだろうけど。^^;;;

コメント

どうもここ初めてきてみましたw

投稿者 ベリー : 2005年11月17日 01:56

ベリーさん、どうもいらっしゃいませー。

投稿者 にしし : 2005年12月01日 13:45

コメント数: 2件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---