Encryption 我应该使用哪种数据加密技术?

Encryption 我应该使用哪种数据加密技术?,encryption,md5,sha,Encryption,Md5,Sha,我是数据加密的新手。我浏览数据加密,主要发现MD5和SHA算法。你认为哪种技术是最好的数据存储/安全性,为什么?p> MD5和SHA是散列函数,它们从一堆数据中创建指纹(固定长度表示)。例如,它们被广泛用于检查许多开源产品的iso映像下载的一致性,但这意味着您可以使用它们从任何字节选择中创建指纹。所以他们不加密 如果要加密,应检查加密算法。我认为现在最可行的方法是AES(高级加密标准),如果你寻找对称加密算法(例如,加密和解密的密钥相同或很容易从另一个中计算),或者RSA,如果你寻找非对称加密算

我是数据加密的新手。我浏览数据加密,主要发现MD5和SHA算法。你认为哪种技术是最好的数据存储/安全性,为什么?p> MD5和SHA是散列函数,它们从一堆数据中创建指纹(固定长度表示)。例如,它们被广泛用于检查许多开源产品的iso映像下载的一致性,但这意味着您可以使用它们从任何字节选择中创建指纹。所以他们不加密

如果要加密,应检查加密算法。我认为现在最可行的方法是AES(高级加密标准),如果你寻找对称加密算法(例如,加密和解密的密钥相同或很容易从另一个中计算),或者RSA,如果你寻找非对称加密算法(其中你有两个密钥-公钥和私钥,从公钥计算私钥是一项艰巨的任务)

如果要创建数字签名,可能需要检查DSA(数字签名算法)和ECDSA(椭圆曲线上的DSA)。请注意,非对称算法对具有扩展精度的数字进行处理,如512、1024、2048位等。您需要能够处理此类数字的特殊库。如果你使用C++,我可以推荐你尝试密码+++。为其他语言查找类似的内容


我希望这对你有用

MD5和SHA是散列函数,它们从一堆数据中创建指纹(固定长度表示)。例如,它们被广泛用于检查许多开源产品的iso映像下载的一致性,但这意味着您可以使用它们从任何字节选择中创建指纹。所以他们不加密

如果要加密,应检查加密算法。我认为现在最可行的方法是AES(高级加密标准),如果你寻找对称加密算法(例如,加密和解密的密钥相同或很容易从另一个中计算),或者RSA,如果你寻找非对称加密算法(其中你有两个密钥-公钥和私钥,从公钥计算私钥是一项艰巨的任务)

如果要创建数字签名,可能需要检查DSA(数字签名算法)和ECDSA(椭圆曲线上的DSA)。请注意,非对称算法对具有扩展精度的数字进行处理,如512、1024、2048位等。您需要能够处理此类数字的特殊库。如果你使用C++,我可以推荐你尝试密码+++。为其他语言查找类似的内容


我希望这对你有用

如果您的数据是密码,并且希望将其存储在某个位置,则使用
MD5
SHA
散列。 这些方法有两个优点

  • 哈希无法解密以恢复旧值,因此即使您向某个人提供MD5/SHA密码哈希,您的密码也永远不会被破解:)
  • 特定字符串的哈希值将始终相同,因此您可以基于哈希值比较密码
  • AES:

  • 对称算法这么快
  • 与PKCS5P和CBC模式一起使用
  • 始终存储IV
  • 对称,所以在解密加密文本时需要相同的密钥,所以根本无法共享密钥
  • RSA

  • 用于交换密钥的PKI基础设施

  • 还有其他算法,如DES(不太安全)、3DES(通常称为三重DES-与DES相比不够安全)

    如果您的数据是密码,并且希望将其存储在某个位置,则使用
    MD5
    SHA
    散列。 这些方法有两个优点

  • 哈希无法解密以恢复旧值,因此即使您向某个人提供MD5/SHA密码哈希,您的密码也永远不会被破解:)
  • 特定字符串的哈希值将始终相同,因此您可以基于哈希值比较密码
  • AES:

  • 对称算法这么快
  • 与PKCS5P和CBC模式一起使用
  • 始终存储IV
  • 对称,所以在解密加密文本时需要相同的密钥,所以根本无法共享密钥
  • RSA

  • 用于交换密钥的PKI基础设施

  • 还有其他算法,如DES(不太安全)、3DES(通常称为三重DES-与DES相比不够安全)

    MD5和SHA都不加密数据。谷歌还有一些。这些不是加密算法。这些是散列算法。IIRC AES是一个非常好的当前加密算法。所以你需要散列密码或加密数据?MD5和SHA都不加密数据。谷歌还有一些。这些不是加密算法。这些是散列算法。IIRC AES是一个非常好的当前加密算法。所以你需要散列密码或加密数据?