select HASHBYTES('sha','what is‘) Result --0x2327A09C2FDAD132E436B5CC12E9D5D283B5BA69是否可以将hashbytes转换回字符串'0x2327A09C2FDAD132E436B5CC12E9D5D283B5BA69’作为输入想要输出为'what is‘?
发布于 2009-06-09 03:55:22
绝对不是。根据定义,hash是单向的。
您要查找的是encryption,您可以使用EncryptByCert和DecryptByCert函数来实现,在here中对此进行了详细说明。
发布于 2009-06-09 04:01:30
不是的。这就是hash的全部意义所在。
您可以将它们用作密码之类的东西,这样每次有人尝试登录时,您都会计算他们尝试登录时使用的密码的哈希值(加上一个盐),并将其与您存储的值进行比较。这样,即使有人(比如心怀不满的员工)找到了存储您的密码的数据库的备份磁带和加密密钥,他们仍然无法登录到您的系统并对实时数据执行操作。
发布于 2009-06-09 04:01:40
哈希函数被定义为“单向”,即将文本转换为摘要(如上图所示)。如果您将其用于密码加密,那么可以接受的用法是通过散列函数运行用户输入(来自他们的密码表单),并验证它是否与存储的摘要匹配。
如果您希望对提供的文本输入进行解密,则需要研究其他加密解决方案,如Symmetric-key或Asymmetric-key算法。
当然,如果你这样做,你会想要sanitize你的输入。
https://stackoverflow.com/questions/968064
复制相似问题