需要加密以将值存储在数据库中
Need Encryption to store values in database
看这里:https://code.google.com/p/crypto-js
这些加密方法中的哪一种最适合在数据库中存储加密值?我需要某种加密方法,让进程每次都以相同的方式来回转换字符串。
例如:"sadfjpihdsf3njdasf" 将转换为 "hello world",而 "hello world" 始终转换为 "sadfjpihdsf3njdasf"。我尝试过的加密方法似乎每次都给我一个不同的加密字符串。
这样做的目的主要是为了降低存储在安全数据库中的密码的可见性,因此所涉及的安全级别相当基础。
CryptoJS 中的所有对称密码都可以按照您描述的方式使用。您每次看到不同值的原因是因为每次都会生成一个新的随机 IV。您可以自己为您所见的每个唯一值生成 IV here。
通常,密码不加密,而是用盐迭代散列。因此,当用户下次进行身份验证时,应用程序可以对输入的密码进行哈希处理并检查值是否匹配。 salt 和迭代次数将存储在附加列中或散列旁边。
CryptoJS 为这种情况提供了一个很好的散列方法,如果你想在客户端或任何 JavaScript 可运行的地方执行此操作,因为 CryptoJS 基本上没有依赖项:PBKDF2
当您通过不安全的通道(WiFi 或可能被嗅探的数据线)传输信息时,或者如果您想要存储只有选定的一组人才能访问的文档,您可能希望对信息进行加密。
对于这些应用程序,您应该检查库提供的密码(并调查每个密码以考虑它们的 pro/cons)。
但是对于登录实现,没有能够解密用户密码的正当理由。没有人应该能够检索密码。标准程序是 "hash" 密码。
就像“让我吃掉你的密码,消化它,然后存储剩下的”。
当用户想要通过您的应用程序进行身份验证时,您可以使用提供的密码 he/she 执行相同的过程,并将“剩下的”与数据库中的内容进行比较。
看这里:https://code.google.com/p/crypto-js
这些加密方法中的哪一种最适合在数据库中存储加密值?我需要某种加密方法,让进程每次都以相同的方式来回转换字符串。
例如:"sadfjpihdsf3njdasf" 将转换为 "hello world",而 "hello world" 始终转换为 "sadfjpihdsf3njdasf"。我尝试过的加密方法似乎每次都给我一个不同的加密字符串。
这样做的目的主要是为了降低存储在安全数据库中的密码的可见性,因此所涉及的安全级别相当基础。
CryptoJS 中的所有对称密码都可以按照您描述的方式使用。您每次看到不同值的原因是因为每次都会生成一个新的随机 IV。您可以自己为您所见的每个唯一值生成 IV here。
通常,密码不加密,而是用盐迭代散列。因此,当用户下次进行身份验证时,应用程序可以对输入的密码进行哈希处理并检查值是否匹配。 salt 和迭代次数将存储在附加列中或散列旁边。
CryptoJS 为这种情况提供了一个很好的散列方法,如果你想在客户端或任何 JavaScript 可运行的地方执行此操作,因为 CryptoJS 基本上没有依赖项:PBKDF2
当您通过不安全的通道(WiFi 或可能被嗅探的数据线)传输信息时,或者如果您想要存储只有选定的一组人才能访问的文档,您可能希望对信息进行加密。
对于这些应用程序,您应该检查库提供的密码(并调查每个密码以考虑它们的 pro/cons)。
但是对于登录实现,没有能够解密用户密码的正当理由。没有人应该能够检索密码。标准程序是 "hash" 密码。
就像“让我吃掉你的密码,消化它,然后存储剩下的”。 当用户想要通过您的应用程序进行身份验证时,您可以使用提供的密码 he/she 执行相同的过程,并将“剩下的”与数据库中的内容进行比较。