swift2解密MD5

时间:2015-12-30 08:51:44

标签: ios swift swift2 md5

您好,我只是想从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()

我想从&#34; x&#34;

返回abc

2 个答案:

答案 0 :(得分:1)

简单:Dim sFolder sFolder = "C:\Batch_DEV\to" Set objShell = CreateObject("Shell.Application") Set objDir = objShell.Namespace(sFolder) For Each strFileName in objDir.Items Wscript.Echo objDir.GetDetailsOf(strFileName, 0) & ":" For i = 0 To 10 Wscript.Echo vbtab & "property name is: " & objDir.GetDetailsOf(objDir.Items, i) Wscript.Echo vbtab & "property value is: " & objDir.GetDetailsOf(strFileName, i) Next Next ,因为无法反转MD5哈希值 查看One way function

答案 1 :(得分:1)

不可能是整个哈希的重点。但是,您可以通过遍历所有可能性(使用所有可能的数字字符,以各种可能的顺序)并对它们进行散列并检查碰撞来进行暴力破解。 很难逆转。 还要检查...... https://en.wikipedia.org/wiki/MD5