在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
引入OC类库 md5.h:
#import <UIKit/UIKit.h>
@interface Md5Controller : UIViewController
@end
md5.m: #import "Md5Controller.h"
@interface Md5Controller ()
@end
@implementation Md5Controller
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. }
- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. }
/* #pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */
@end 桥接文件:
#import <CommonCrypto/CommonCrypto.h>
可以直接加在文件里面:
extension String { func md5() -> String! { let str = self.cStringUsingEncoding(NSUTF8StringEncoding) let strLen = CUnsignedInt(self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)) let digestLen = Int(CC_MD5_DIGEST_LENGTH) let result = UnsafeMutablePointer<CUnsignedChar>.alloc(digestLen)
CC_MD5(str!, strLen, result)
var hash = NSMutableString() for i in 0..<digestLen { hash.appendFormat("%02x", result[i]) }
result.destroy()
return String(format: hash) } }
打印测试:
println("hello".md5())
|
请发表评论