【发布时间】:2023-03-29 12:11:01
【问题描述】:
我有一个带有数据库的旧系统,该系统的表具有 char(20) 类型的列,并且客户决定为某些业务需求加密该列,但是对于某些系统集成,输出列的长度需要与输入相似是 20 岁,我读过 Format-Preserving encryption
我的问题是,格式保留加密是否像 AES 方法一样强大?是否有任何 SQL Server 实现可以用于数百万的大量记录?
【问题讨论】:
-
FPE 的问题是您无法判断该字段是否已加密。它通常用于信用卡号码,但如果 FPE 版本被盗,即使它不是原始号码,它仍然可以是有效的信用卡号码,因此被盗。 FPE 是否与 AES 一样强大?答案是肯定的和否定的。 3 个字符串上的 FPE 将是一种非常糟糕的加密,就像您使用 300 个字符的字符串一样,我很确定它会超过 AES 256。但是生成速度会比 AES 慢。 AES 几乎具有稳定的速度,并且输出不可读/不可用。
-
非常感谢您的回复@Franck,我的情况是要加密 20 个字符,所以我认为它很小但是我很感兴趣,如果您能指导我了解碰撞部分,而不是评论您可以将上述评论作为答案发布
标签: c# asp.net sql-server security encryption