jc-dsa 2019-06-24 18:46 采纳率: 62.5%
浏览 247
已采纳

SQL2008r2 怎么根据表内重复得值生成对应重复得密文

表tabe1

mdn

12345

13456

14567

12345

怎么根据mdn列内容生成16进制密文,16位或32位都可以

生成得两个12345密文是一样的

解密得时候怎么来解密

  • 写回答

2条回答 默认 最新

  • xxr373573489 2019-06-27 11:25
    关注

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器