在swift中使用md5
by 伍雪颖
在ProjectName-Bridging-Header.h中添加
#import
<CommonCrypto/CommonCrypto.h>
extension
String
{
var
MD5:
String
{
let cString = self . cStringUsingEncoding ( NSUTF8StringEncoding )
let length = CUnsignedInt (
lengthOfBytesUsingEncoding ( NSUTF8StringEncoding )
)
let result = UnsafeMutablePointer < CUnsignedChar >. alloc ( Int ( CC_MD5_DIGEST_LENGTH ))
CC_MD5 (cString!,length,result)
return String (format: "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" ,
result[ 0 ],result[ 1 ],216)">2 ],216)">3 ],216)">4 ],216)">5 ],216)">6 ],216)">7 ],216)">8 ],216)">9 ],216)">10 ],216)">11 ],216)">12 ],216)">13 ],216)">14 ],216)">15 ])
}
let cString = self . cStringUsingEncoding ( NSUTF8StringEncoding )
let length = CUnsignedInt (
lengthOfBytesUsingEncoding ( NSUTF8StringEncoding )
)
let result = UnsafeMutablePointer < CUnsignedChar >. alloc ( Int ( CC_MD5_DIGEST_LENGTH ))
CC_MD5 (cString!,length,result)
return String (format: "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" ,
result[ 0 ],result[ 1 ],216)">2 ],216)">3 ],216)">4 ],216)">5 ],216)">6 ],216)">7 ],216)">8 ],216)">9 ],216)">10 ],216)">11 ],216)">12 ],216)">13 ],216)">14 ],216)">15 ])
}
}
使用:
println("rain".MD5)