SQL Serverに対し、SQL Server認証を行う場合ネットワーク上を流れるパスワードは暗号化されています。といっても、これは非常に簡単な単換字方式の暗号化で、ビット演算をかじったことがある人なら簡単に暗号化・複合を行うことができます。 まず暗号化のロジックですが、1バイトずつ以下の処理を施していくことによって暗号化されたバイト列を得ることができます。 Asciiコード(1byte)に、0x00を付与して2byteに拡張する。 例) 0x70 => 0x70 0x00 2byteそれぞれの上位4ビットと下位4ビットを入れ替える。 例) 0x70 0x00 => 0x07 0x00 2byteそれぞれの0xA5とのXORをとる 例) 0x07 0x00 => 0xA2 0xA5 複合はその逆で、2バイトずつ以下の処理を行うことによって可能です。 2byteそれぞれの0xA5とのXOR
![Wiresharkで暗号化されたSQL Serverパスワードが解析できてしまう件 - 遥かへのスピードランナー](https://cdn-ak-scissors.b.st-hatena.com/image/square/bff42d903b9a9328b4d88db0b60168205bd04b42/height=288;version=1;width=512/http%3A%2F%2Ff.hatena.ne.jp%2Fimages%2Ffotolife%2Ft%2Fthorikawa%2F20081020%2F20081020153519_original.jpg%3F1224484534)