0

プライバシーの問題でBlackberryのデバイスIDをスクランブルする必要があります。関数DeviceInfo.getDeviceId()を呼び出すと、9文字の数字が表示されます。Hexaで変換した後、デバイスの実際のPIN番号(またはデバイスIDはその呼び出し方法によって異なります)を8文字で取得しました。

私が言ったように、プライバシーの問題のために、私は自分のデータベースにPINをそのまま保存することはできません。そこで、IDを8文字のままの一意のIDにスクランブルしたいと思います。MD5またはその他の暗号化を行うと、常に8文字を超える数字が表示されます。

デバイスIDから一意の8文字の文字列を取得する方法を知っていますか?ありがとうございました。

4

1 に答える 1

1

短いブロック暗号を使用して、メッセージをわかりにくくすることができます。CBC-MACの動作モードを見てください。

必要な出力は実際にはわずか4バイトの長さであるため、CRC32などのCRCを使用することもできます。

オーバーラップしないようにするには「完全なハッシュ」が必要になることに注意してください。短いキーのCBC-MACもCRC32も完全なハッシュを提供しません。より長いハッシュ関数を使用することを強くお勧めします。

于 2010-07-20T18:19:02.630 に答える