在sql server中使用相同长度的字符进行加密和解密

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在sql server中使用相同长度的字符进行加密和解密相关的知识,希望对你有一定的参考价值。

我想使用相同长度的字符串加密字符串,并使用sql server以相同长度的字符串进行解密。例如:

Encryption
Input: Encrypt("002581") -- with 6 characters

Result: a&pE12 -- output with same 6 characters in encrypted form

Decryption
Input: Decrypt("a&pE12") -- with 6 characters
Result: 002581 -- output with same 6 characters in decrypted form
答案

简短回答:没有这样的安全加密方案。

更长的答案:任何类型的加密方案都会混淆纯文本的内容,使其与来自同一消息空间的其他消息无法区分。为此,无论输入纯文本如何,所有生成的密文必须具有相同的长度(理想情况下)。至少长度应该与纯文本的长度不同。

所以,请不要考虑这样的加密技术。根据定义它是不安全的。

以上是关于在sql server中使用相同长度的字符进行加密和解密的主要内容,如果未能解决你的问题,请参考以下文章

始终加密 - SQL Server 2016 如何在加密列上使用用户案例语句

Sql Server中通配符

sqlserver 怎么查看表的数据是加密的

Sql Server内置函数实现MD5加密

sql server 数据库系统整理——数据表的创建和管理

oracle 对字段进行 MD5 加密处理函数