Iphone Md5加密是对称的还是非对称的?

Iphone Md5加密是对称的还是非对称的?,iphone,cocoa,cryptography,passwords,md5,Iphone,Cocoa,Cryptography,Passwords,Md5,对于我的iPhone应用程序,苹果想知道我的密码加密(md5)是大于64位对称还是大于1024位对称。我一直无法在网上找到它,所以我想知道是否有人知道答案。此外,这被认为是一种适用于密码的加密技术,还是应该使用不同的技术 谢谢你的帮助 md5不是真正的对称或非对称加密,因为它在对称或非对称情况下都是不可逆的。它是一种消息摘要(安全哈希)算法。它根本不是加密。MD5是一个哈希函数,因此根据定义它是不可逆的。加密(对称或非对称)不是这种情况,它必须是可逆的才有用 更准确地说,散列是单向函数,因为无限

对于我的iPhone应用程序,苹果想知道我的密码加密(md5)是大于64位对称还是大于1024位对称。我一直无法在网上找到它,所以我想知道是否有人知道答案。此外,这被认为是一种适用于密码的加密技术,还是应该使用不同的技术


谢谢你的帮助

md5不是真正的对称或非对称加密,因为它在对称或非对称情况下都是不可逆的。它是一种消息摘要(安全哈希)算法。

它根本不是加密。

MD5是一个哈希函数,因此根据定义它是不可逆的。加密(对称或非对称)不是这种情况,它必须是可逆的才有用

更准确地说,散列是单向函数,因为无限多的输入可以映射到单个输出,因此不可能确定地获得导致给定输出的确切输入

但是,可以找到散列到相同输出的不同输入。这叫做碰撞

通常,散列密码而不是存储纯文本(甚至加密)是一个好主意。(如果使用salt更好)然而,MD5有已知的弱点(以及帮助查找冲突的大量彩虹表集合),因此最好切换到类似SHA-1或SHA-2家族的哈希


然而,要回答您最初的问题,实际上没有办法将MD5或任何哈希与任何类型的加密进行比较;它们没有等价物,因为这就像比较苹果和橙子一样。

这不是加密,而是摘要。如果你不给它加盐,它就不是特别安全,但他们问你的问题是错误的


你到底在用MD5和密码做什么?这里有标准的做事方法,最好使用一种,但如果不知道你想做什么,就很难找到相关的标准。

我认为MD5用于更好的安全性。。。。如果我们谈论任何加密或解密算法,它们只是用于将任何纯文本转换为密文。。。但另一方面,MD5提供了由任何来源发送的纯文本的唯一性(Alice)…因此,为了更好的安全性或在纯文本上提供信封,在使用任何加密算法(对称或非对称)之前,应该使用MD5。

正如这里的许多其他人所提到的,MD5不是对称或非对称算法

相反,它属于密码学的另一个分支。它是.Net框架中可用的最小哈希算法之一。其密钥大小仅为16字节,应为128位。你可以用它来学习你的生活

是的,它大于64位,只有8字节大小

通用symm'enc'algs使用的最大密钥大小为256bit(Rijndael托管)

如果希望查看大于该值的密钥大小,则可以使用支持可变密钥大小的RC2 symm“enc”algs。你能用它来做实验吗

如果您想要高于1024位,那么您需要查看Asymm'Enc'ALG,比如RSACryptServiceProvider类,它支持高达16K位的密钥大小


如果您想使用密码,那么您需要使用键控哈希ALG,就像HMAC的任何东西一样,它们应该是键控哈希算法或MacTripleDes。这些都使用密钥来加密从您提供的数据生成的散列。密钥是通过RFC2898DerivesBytes类使用密码和salt值创建的 苹果公司询问有关使用MD5对密码进行哈希运算的问题,以确定其出口是否需要商务部/工业和安全局的授权

根据15 CFR第774部分,补充件1,ECCN 5A002,第a.1段的技术说明,使用MD5进行密码保护不受强加密(如超过64位的对称算法)的控制。但是,它仍可能受到ECCN 5A992的控制

其他的答案在问这个问题的背景下是没有帮助的


此外,您可能需要致电商务部/工业和安全局,电话202-482-0707,询问您的具体应用。

哈希函数通常是压缩数据的一种方法。它们是单向散列函数,这意味着很难反转(使用散列函数=消息摘要,很难找到转换为特定散列值的原始消息)。另一方面,它们非常容易实现,因为不需要任何类型的密钥

它不是对称或非对称算法。这类算法用于加密数据,而不是散列数据。出于保密原因,加密用于保护数据免受攻击者的攻击,攻击者试图读取某人的数据


加密或密码算法需要密钥来执行其任务,而散列则不需要任何类型的密钥。散列不是出于保密的原因而使用的,而是出于完整性的原因,即使它们没有足够的强度。MD5是一种散列函数,因为MD5不够强大,所以存在许多其他散列函数。嗨,彼得:这是否意味着我的应用程序没有“包含加密”?严格来说,没有。使用MD5或任何其他散列函数以便不存储实际密码有时被称为“单向加密”,虽然使用“加密”一词用词不当:(维基百科的强制性链接:)我知道现在已经晚了,但再加上。。。除了使用SHA-1或SHA-2之外,您还可以尝试用盐腌制散列,甚至使用MD5和SHA-1。