黑莓乱码设备 ID,8 个唯一字符

发布于 2024-09-11 00:31:21 字数 295 浏览 5 评论 0原文

出于隐私考虑,我需要对 Blackberry 上的设备 ID 进行打乱。 当我调用函数 DeviceInfo.getDeviceId() 时,我得到了一个 9 个字符的数字。将其转换为十六进制后,我得到了 8 个字符的设备真实 PIN 码(或设备 ID 取决于您如何称呼它)。

正如我所说,出于隐私考虑,我无法将 PIN 码按原样存储在我的数据库中。所以我想将ID打乱为一个唯一的ID,仍然是8个字符。如果我进行 MD5 或其他加密,我总是得到一个包含超过 8 个字符的数字。

您知道如何从设备 ID 中获取唯一的 8 个字符字符串吗? 谢谢。

I need to scramble Device IDs on the Blackberry for privacy matter.
When I call the function DeviceInfo.getDeviceId() I got a 9 characters number. After convert it in Hexa, I got the real PIN number for the device (or device ID depends how you call that) on 8 characters.

Like I said, for privacy matter I can't store the PIN as is in my database. So I would like to scramble the ID to a unique one, still in 8 characters. If I do MD5 or other encryption, I always got an number containing more than 8 characters.

Do you know a way to get a unique 8 characters string from the Device ID?
Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

许一世地老天荒 2024-09-18 00:31:21

您可以使用短分组密码来混淆消息。看看CBC-MAC的操作模式。

由于您想要的输出实际上只有 4 个字节长,您甚至可以使用 CRC,例如 CRC32。

请注意,您需要一个“完美的哈希值”才能不出现重叠 - 短密钥 CBC-MAC 或 CRC32 都不会为您提供完美的哈希值。我强烈建议使用更长的哈希函数。

You can use a short block cipher to obsfucate the message. Look at the CBC-MAC mode of operation.

As the output you want is actually only 4 bytes long, you could even use a CRC, such as CRC32.

Note that you would need a "perfect hash" to not have an overlap - neither short key CBC-MAC or CRC32 will give you a perfect hash. I would strongly suggest using a longer hash function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文