表tabe1
mdn
12345
13456
14567
12345
怎么根据mdn列内容生成16进制密文,16位或32位都可以
生成得两个12345密文是一样的
解密得时候怎么来解密
表tabe1
mdn
12345
13456
14567
12345
怎么根据mdn列内容生成16进制密文,16位或32位都可以
生成得两个12345密文是一样的
解密得时候怎么来解密
select substring(sys.fn_sqlvarbasetostr(HashBytes('MD5',mdn)),3,32) from table1
系统有自带的加密函数,直接用就行,把mdn加密成32位的字符串,但是这种是单向的,加密之后不能解密
如果加密之后,还必须要可以解密还原的话,可以用这两个系统函数
EncryptByPassPhrase 加密
DecryptByPassPhrase 解密
用法也简单
EncryptByPassPhrase(自己想一个秘钥字符串,要加密的字符串)
EncryptByPassPhrase('bilibili','abcdef')
DecryptByPassphrase(加密时用的秘钥字符串,要解密的字符串)
EncryptByPassPhrase('bilibili',上一步生成的那个字符串)
中文官方文档里面有各种加密函数解密函数的解释,也可以看看
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/encryptbypassphrase-transact-sql?view=sql-server-2017