Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift2解密MD5_Ios_Swift_Swift2_Md5 - Fatal编程技术网

Ios swift2解密MD5

Ios swift2解密MD5,ios,swift,swift2,md5,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&l

您好,我只想从
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
}
扩展字符串{
func MD5()->字符串{
变量数据=(自身为NSString)。数据使用编码(NSUTF8StringEncoding)
let result=NSMutableData(长度:Int(CC_MD5_DIGEST_length))
让resultBytes=UnsafeMutablePointer(result!.mutableBytes)
CC_MD5(数据!.bytes,CC_LONG(数据!.length),结果字节)
让buff=UnsafeBufferPointer(开始:resultBytes,计数:result!.length)
让hash=NSMutableString()
因为我穿得很好{
hash.appendFormat(“%02x”,i)
}
将哈希作为字符串返回
}
var x=“abc”.MD5()


我想从“x”回到
abc
,简单:
不可能
,因为MD5哈希不可能反转。

检查关于

不可能这就是散列的全部要点。但是,您可以通过检查所有可能性(以每个可能的顺序使用所有可能的数字字符)并对它们进行散列并检查冲突来强制执行。 很难逆转。
另外请检查…

MD5不是可逆的。允许使用AES加密,而不是操作AES是复杂的。我可以像MD5一样简单地使用任何可逆哈希吗?虽然MD5有其缺陷,但哈希函数的整个思想是一种方法。我建议您多研究一下哈希和加密。好的,谢谢,我将搜索这两种方法