首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >完全哈希函数模糊顺序值

完全哈希函数模糊顺序值
EN

Stack Overflow用户
提问于 2012-07-18 21:52:32
回答 3查看 1K关注 0票数 2

这里是我需要的(语言: C# 4):

我正在建立一个你可以投诉的系统。在提交投诉后,您将获得一个唯一的9位数字号码,该号码标识系统中的投诉。

出于安全(通过模糊方式进行安全)的目的,我不希望票证I是顺序的。但是I do想要使用数据库来生成顺序id。

因此,我需要的是一个内射函数,它是双向快速的:序列号到我的票证id,然后从票证id返回到序列号。

因此,我在数据库中的ticketId是连续的,但在向用户显示它之前,我会混淆它,类似地,当我从用户那里得到一个数字时,我去混淆它,并使用它在数据库中查找投诉。

混淆部分不需要太复杂,只是对一般公众来说“不够明显”。

例如,我可以简单地更改值的位数,这将使我(对于8位值):

0 -> %0 1 -> 128 2 -> 192 3 -> 64 4 -> 160 5 -> 96 等。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-18 22:43:18

我认为您可以很好地解决这个问题:用常量密钥加密票证号码。有一个32位的块大小的分组密码,你可以使用。

票数 2
EN

Stack Overflow用户

发布于 2012-07-18 22:09:27

我建议一些类似对称加密的方法。例如,如果应用DES加密算法的替换和扩散步骤,您可以得到一个可以快速来回映射但很难找到模式的数字。它与您的示例几乎相同,但S-Box和P-Box值被证明对密码分析是有效的。

票数 1
EN

Stack Overflow用户

发布于 2012-07-18 22:16:50

为什么不这样做呢?

SHA1您的号码,然后将其存储在数据库中的一个表中以及您的序列号中。然后,当您收到哈希时,只需在数据库中查找序列号即可。

这不是真正的安全。您应该实现一个真正的密码系统。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11550916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档