【问题标题】:swift2 decrypt MD5swift2解密MD5
【发布时间】:2015-12-30 08:51:44
【问题描述】:

您好,我只想从md5 解密为“普通字符串”

extension String {
func MD5() -> String {
    var data = (self as NSString).dataUsingEncoding(NSUTF8StringEncoding)
    let result = NSMutableData(length: Int(CC_MD5_DIGEST_LENGTH))
    let resultBytes = UnsafeMutablePointer<CUnsignedChar>(result!.mutableBytes)
    CC_MD5(data!.bytes, CC_LONG(data!.length), resultBytes)

    let buff = UnsafeBufferPointer<CUnsignedChar>(start: resultBytes, count: result!.length)
    let hash = NSMutableString()
    for i in buff {
        hash.appendFormat("%02x", i)
    }
    return hash as String
}

var x = "abc".MD5()

我想从“x”返回abc

【问题讨论】:

  • MD5 不可逆
  • 研究使用AES加密而不是
  • oops AES 很复杂,我可以像 md5 那样简单地使用任何可逆哈希吗?
  • 虽然 md5 有其缺陷,但哈希函数的整个想法是一种方式。我建议你多学习一些关于哈希和加密的知识。
  • 好的,谢谢,我会搜索两者

标签: ios swift swift2 md5


【解决方案1】:

这不可能是散列的全部意义所在。但是,您可以通过所有可能性(以每个可能的顺序使用所有可能的数字字符)并对它们进行散列并检查冲突来进行暴力破解。 很难逆转。 还要检查...https://en.wikipedia.org/wiki/MD5

【讨论】:

    【解决方案2】:

    简单:Not possible,因为 MD5 哈希无法反转。
    查看One way function

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 2014-02-20
      • 2016-10-29
      • 2016-04-01
      • 1970-01-01
      相关资源
      最近更新 更多