Encryption 使用SHA1进行加密
我正在开发一个大型应用程序,当数据在不同大陆的两台机器之间传输时,我需要加密。我从未从事过加密工作。我想要一个简单的加密,它可以在PHP/Ruby/Python中处理,没有任何依赖项 所以我决定使用HMAC SHA1Encryption 使用SHA1进行加密,encryption,sha1,hmacsha1,Encryption,Sha1,Hmacsha1,我正在开发一个大型应用程序,当数据在不同大陆的两台机器之间传输时,我需要加密。我从未从事过加密工作。我想要一个简单的加密,它可以在PHP/Ruby/Python中处理,没有任何依赖项 所以我决定使用HMAC SHA1 $pad=hash_hmac("sha1","The quick brown....","mykey"); 这是我在互联网上研究后发现的 如果有人不知道密钥,解密有多难?还有,还有其他的选择吗 更新-感谢所有回复。问题已解决。即使您知道密钥,也无法解密。HMAC SHA1是一种密
$pad=hash_hmac("sha1","The quick brown....","mykey");
这是我在互联网上研究后发现的
如果有人不知道密钥,解密有多难?还有,还有其他的选择吗
更新-感谢所有回复。问题已解决。即使您知道密钥,也无法解密。HMAC SHA1是一种密钥哈希算法,而不是加密算法 散列是一个加密单向函数,它总是生成相同长度的值(我认为SHA1是128位),而不管输入的长度如何。散列的要点是,给定输出值,在计算上不可能找到一个输入值来生成该输出。密钥哈希用于防止彩虹表攻击。即使知道密钥,也无法反转哈希过程
对于加密,您需要查看AES。即使您知道密钥,也无法对其进行解密。HMAC SHA1是一种密钥哈希算法,而不是加密算法 散列是一个加密单向函数,它总是生成相同长度的值(我认为SHA1是128位),而不管输入的长度如何。散列的要点是,给定输出值,在计算上不可能找到一个输入值来生成该输出。密钥哈希用于防止彩虹表攻击。即使知道密钥,也无法反转哈希过程
对于加密,您希望查看AES。正如我所说,这是一个哈希,因此不是加密/解密问题。如果您想实现一个简单的加密算法,我建议您研究XOR加密。如果密钥足够长(比消息长),并且您的密钥共享策略具有适当的安全性,则这是一次性pad;否则,它可能会被统计分析破坏。正如我所说,这是一个散列,所以不是加密/解密问题。如果您想实现一个简单的加密算法,我建议您研究XOR加密。如果密钥足够长(比消息长),并且您的密钥共享策略具有适当的安全性,则这是一次性pad;否则,它可能会被统计分析破坏。SHA1是一个单向散列函数,根据定义,任何人都无法解密它。问题是,如果你有一个散列到H的明文T,那么找到另一个也散列到H的T有多难 根据维基百科,对于SHA1来说,最著名的暴力攻击需要2^51次浏览才能找到匹配的纯文本 如果您需要实际的加密,您可以反转该过程,您应该看看AES256 见:
关于这一点的一般性讨论。SHA1是一个单向散列函数,根据定义,任何人都无法解密它。问题是,如果你有一个散列到H的明文T,那么找到另一个也散列到H的T有多难 根据维基百科,对于SHA1来说,最著名的暴力攻击需要2^51次浏览才能找到匹配的纯文本 如果您需要实际的加密,您可以反转该过程,您应该看看AES256 见: 如Andrew所说,SHA1是一种哈希算法,不能用于加密(因为您无法获取原始值)。它生成的摘要可用于验证数据的完整性 HMAC是接受密钥的哈希算法之上的构造。但是,它不是用于加密(同样无法解密),而是允许您对数据进行签名,即使用相同的密钥,您可以确保数据在传输过程中未被篡改 对于加密,您应该考虑使用AES或HTTPS(如果适用于您的应用程序,HTTPS将处理比您想知道的更多的问题;-)就像Andrew说的SHA1是一种哈希算法,不能用于加密(因为您无法获取原始值)。它生成的摘要可用于验证数据的完整性 HMAC是接受密钥的哈希算法之上的构造。但是,它不是用于加密(同样无法解密),而是允许您对数据进行签名,即使用相同的密钥,您可以确保数据在传输过程中未被篡改
对于加密,您应该考虑使用AES或HTTPS(如果适用于您的应用程序,HTTPS将处理比您想知道的更多的问题;-)SHA-1和MD-5都是单向散列算法。 它们只是生成一个很长的字符串。每个字符串在执行这些函数时都会产生一个无法保留的长字符串 他们远离加密
如果您正在寻找加密算法,请选择AES(高级加密标准)、DES(数据加密标准)算法。SHA-1、MD-5都是单向散列算法。 它们只是生成一个很长的字符串。每个字符串在执行这些函数时都会产生一个无法保留的长字符串 他们远离加密
如果您正在寻找加密算法,请选择AES(高级加密标准)、DES(数据加密标准)算法。这是一个散列,而不是密码:如果不考虑所有可能性并检查它们,您无法解密它!这是一个散列,而不是密码:你不能解密它不经过所有的可能性和检查!SHA1的长度为160位(无论输入大小),这要感谢poupou。我知道我应该查一下。SHA1有160位长(不管输入大小),谢谢poupou。我知道