发布于 2019-01-24 08:24:24
加密描述了一种加密和解密数据的方法。换句话说,如果您知道密钥,您可以获得原始数据。
加密又可分为对称加密和非对称加密。对于对称加密,同样的密钥用于加密和解密。对于非对称加密,使用两个单独的密钥(公共密钥和私钥),一个用于加密,另一个用于解密。
哈希描述了一种基于数据计算某些输出的方法。与加密相比,散列算法的输出不能转换回输入。但是,由于相同的输入总是导致相同的输出,并且没有(可行的)方法来预测密码散列算法的结果,所以您可以使用散列来创建密钥,例如,从密码中创建密钥(尽管有许多陷阱,这要复杂得多)。
发布于 2019-01-24 10:13:36
哈希基本上是一种不可逆的编码方法。(编码不加密)
例如,它允许应用程序在没有数据库所有者的情况下将密码存储在数据库中,即使他可以访问哈希数据表,也能够知道密码。
它还允许应用程序以非常快速的方式验证您,因为您只需要在应用程序中输入密码,这样应用程序就可以计算哈希,并生成一个结果,然后将其减去或与数据库表中的结果进行比较。
如果它是零,那么一切都是好的,如果它是不同的,那么你没有插入正确的密码。
不需要插入解密密钥就可以访问内容,从而使其更加安全和快速。
对于加密,您需要插入或存储在系统某处的解密密钥,使用更多资源加密和解密数据所需的计算量也更高,而且每次访问或更新数据时都必须进行加密和解密。
在上面的密码表示例中,如果密码是加密的,那么拥有密钥的任何人都可以解密和还原原始密码,这是不可接受的。
https://security.stackexchange.com/questions/202088
复制相似问题