我正在将加密数据保存到数据库中。
有没有一种方法可以创建纯文本数据的“哈希码”或指纹或校验和,如果我对“哈希码”进行排序/排序,则顺序将与我保存纯文本数据并执行相同同样的sort/order by操作可以吗?
我基本上需要一个 SOUNDEX() 类型的函数,它会给我一个保持纯文本数据顺序的值。然后,我将保存加密数据和“哈希码”,并在通过“哈希码”字段查询数据顺序时保存。
我需要在应用程序中执行此操作,如果可能的话,最好不要在 SQL DB 中执行此操作。
我正在使用实体框架、SQL 2008 和 C# 4.0。
加密有意破坏明文中的任何明显结构,因此任何排序结构也将被破坏。考虑到未加密记录的已知结构,使用非加密哈希码将导致潜在的安全漏洞。
您可以轻松地从未加密的数据创建订单列并将其存储,但每次添加新记录时都需要解密全部或部分数据库。
您可以从每十个记录编号开始:10、20、30……这将允许使用二分搜索插入新记录。每隔一段时间就会对整个数据库进行解密和重新编号,从而恢复记录之间的间隙。这不是一个理想的解决方案,但却是一个可能的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)