我们有一些电话号码字段需要在UAT环境中进行模糊处理,问题是号码需要是唯一的,并且应该与使用其他数据库的其他数据处理相匹配,这些数据库也被模糊处理。我正在尝试创建一个函数,它可以可靠地对一个数字进行加扰,每次传递的每个数字都会产生相同的加扰数字,使用某种我们可以安全存储的加密密钥。我还没有找到一种方法可以可靠地以相同的10位数格式复制数字。有什么想法吗?
为什么不使用任何可以为您提供guid的哈希函数?
例如
hash('012345677899')
在python 中
或t-sql中的SELECT HASHBYTES('SHA2_256', '0103203803')
https://learn.microsoft.com/en-us/sql/t-sql/functions/hashbytes-transact-sql?view=sql-服务器-ver15
我相信列加密就是您想要的。您可以对列进行加密,然后传递加密的值。
SQLShack写得也不错。
列加密不是Steve想要的,在2个单独的表中从生产中刷新后,需要在较低的环境中混淆电话号码字段,并确保在流程完成前后匹配相同数量的行。
下面的过程似乎起了作用,但之前的计数与之后的计数不匹配。
SET[somePhone]=BINARY_CHECKSUM([somePhone](
Microsoft动态数据屏蔽可能是一个更好的选择。
https://learn.microsoft.com/en-us/sql/relational-databases/security/dynamic-data-masking?view=sql-服务器-ver15