当前位置:  开发笔记 > 编程语言 > 正文

散列敏感数据

如何解决《散列敏感数据》经验,为你挑选了2个好方法。

我需要扰乱我们拥有的UAT数据库中所有用户的名称和登录.(因为数据保护法)

然而,有一个问题.

测试人员仍然需要能够使用散列登录名登录

因此,如果用户登录是"Jesse.J.James",那么散列应该是类似的

Ypois.X.Qasdf

即大致相同的长度,点在同一个地方

所以MD5,sha1等不合适,因为它们会创建非常长的字符串,并且还会添加自己的特殊字符,例如+和=,这是验证正则表达式所不允许的.

所以我正在寻找一些如何实现这一目标的建议

我想我需要自己进行散列算法

有人做过类似的事吗?

我正在使用c#,但我想这对算法来说并不那么重要

非常感谢

添加 -

感谢所有的答案.我认为当不需要做的事情时,我使用"哈希"这个词来解决混淆



1> Jeffrey L Wh..:

测试人员不应该以合法用户身份登录.这显然违反了您正在进行的任何数据保护行为的不可否认性要求.

系统不应允许任何人使用散列值登录.这打败了哈希的整个目的!

对不起,我没有回答你的具体问题,但我认为你的整个测试系统应该重新评估.

添加:

JPLemme下面的评论为你所做的事情提供了很多启示,我担心我完全被误解了(大概是那些为我投票的人).

部分混淆是基于这样的事实:哈希通常用于加密密码,这样任何人都无法发现其他人的密码,包括那些在系统上工作的密码.也就是说,显然是错误的上下文(现在我理解你为什么要哈希用户名而不仅仅是密码).正如JPLemme指出的那样,您实际上正在使用一个完全独立的并行系统,实时数据已被复制和匿名化,并且使用散列(和盐渍!)密码的安全登录过程不会受到骚扰.

在这种情况下,WW的答案更具相关性,我建议大家给他/她投票.对不起,我误解了.



2> WW...:

您不需要散列数据.您应该随机化它,使其与原始数据无关.

例如,更新所有登录名,并用另一个随机字母替换每个字母.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有