SHA和AES加密之间有什么区别?
Answers:
SHA和AES具有不同的用途。SHA用于生成数据哈希,而AES用于加密数据。
这是一个SHA哈希对您有用的示例。假设您要下载一些Linux发行版的DVD ISO映像。这是一个大文件,有时会出问题-因此,您需要验证下载的内容是否正确。您要做的是转到受信任的源(例如官方发行版下载点),它们通常具有可用的ISO映像的SHA哈希。现在,您可以为下载的数据生成可比较的SHA哈希(使用任何数量的开放工具)。现在,您可以比较两个散列,以确保它们匹配-这将验证您下载的图像正确。如果您从不受信任的来源(例如torrent)获得ISO映像,或者在使用ISO时遇到问题并想要检查映像是否已损坏,则这一点尤其重要。
如您所见,在这种情况下,SHA已用于验证未损坏的数据。您有权查看ISO中的数据。
另一方面,AES用于加密数据,或防止人们在知道某些秘密的情况下查看数据。
AES使用共享密钥,这意味着与解密数据时使用相同的密钥(或相关密钥)来加密数据。例如,如果我使用AES加密了一封电子邮件并将该电子邮件发送给您,那么您和我俩都需要知道用于加密和解密电子邮件的共享密钥。这与使用公共密钥(例如PGP或SSL)的算法不同。
如果您想将它们放在一起,则可以使用AES加密消息,然后发送未加密消息的SHA1哈希,以便在解密消息时,他们可以验证数据。这是一个人为的例子。
如果您想进一步了解这些Wikipedia搜索词(不包括AES和SHA),请尝试包括:
对称密钥算法(用于AES)加密哈希函数(用于SHA)公共密钥加密(用于PGP和SSL)
SHA不需要任何东西,但要应用输入,而AES至少需要3件事-您要加密/解密的内容,加密密钥和初始化向量。