【发布时间】:2018-11-22 16:25:41
【问题描述】:
我使用参考 SHA256 in swift 的 SHA256 加密方法转换了我的字符串。现在我需要解密字符串。提前谢谢
【问题讨论】:
-
你是怎么转成String的?你能提供你的代码吗?
-
SHA256 是一种 散列 方法,而不是加密。它不能被逆转。
我使用参考 SHA256 in swift 的 SHA256 加密方法转换了我的字符串。现在我需要解密字符串。提前谢谢
【问题讨论】:
您似乎误解了 SHA256。 SHA256 是一种散列方法,而不是一种加密方法。
散列函数是任何可用于映射数据的函数 任意大小到固定大小的数据。哈希返回的值 函数称为哈希值、哈希码、摘要或简称为哈希
哈希函数为作为参数传递给它的每个字符串/数据生成一个唯一值,并且无法从哈希值中获取字符串/数据。哈希函数就像单向流
您可以使用散列函数的唯一方法是为您拥有的每个字符串生成一个唯一值。
这是 SHA256 的一个用例,可帮助您更好地理解
例如,如果您的应用程序有每个用户的用户名和密码,那么在 DB 中将密码保存为纯文本就不太受欢迎。相反,我们所做的是生成一个哈希键并将哈希键作为密码保存在数据库中。
每当用户将来尝试登录时,您都会将密码作为参数传递给您的 API,为此生成 SHA,并将其与您保存在数据库中的内容进行比较。因为 SHA256 为传递给它的每个字符串/数据生成一个唯一值,所以没有两个密码可以具有相同的哈希值。这确认用户正在尝试使用正确的凭据登录。
希望这能让您了解如何使用 SHA256
【讨论】: