选择HASHBYTES('sha','它是什么') 结果--0x2327A09C2FDAD132E436B5CC12E9D5D283B5BA69 是否可以将反向哈希字节转换为字符串'0x2327A09C2FDAD132E436B5CC12E9D5D283B5BA69'作为输入 我想把它作为'它是什么'而出来?
答案 0 :(得分:10)
绝对不是。根据定义,hash是单向的。
您要找的是encryption,您可以使用EncryptByCert和DecryptByCert函数执行此操作,详细说明here。
答案 1 :(得分:0)
没有。这就是哈希的重点。
您可以将它们用作密码之类的内容,这样每次有人尝试登录时,您都会计算他们尝试登录的密码的哈希值(加上盐)并将其与您的存储值进行比较。这种方式即使某人(如心怀不满的员工)发现存储密码的数据库的备份磁带和加密密钥,他们仍然无法登录您的系统并对实时数据采取行动。
答案 2 :(得分:0)
哈希函数被定义为“单向”,这意味着您将文本转换为摘要(您在上面看到的结果)。如果您使用此密码加密,则可接受的用法是通过哈希函数运行用户输入(从其密码表单)并验证它是否与存储的摘要匹配。
如果您希望解密所提供的文本输入,您需要查看其他加密解决方案,例如Symmetric-key或Asymmetric-key算法。
当然,如果您正在执行此操作,您将需要sanitize您的意见。
答案 3 :(得分:0)
再次如前面提到的海报所述,如果您正在寻找双向操作,那么您正在寻找加密。此外,如果您希望同一个用户同时加密和解密字符串,请坚持使用对称加密。今天在实践中使用的一些常用算法是AES,DES和Blowfish。
答案 4 :(得分:0)
如果你有一个最小的完美哈希,那么至少你应该能够强制原始输入。但是大概这不是你要问的,如果那是对的,那么看看所有其他答案:)