• swift MD5 加密方法


    引入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())

  • 相关阅读:
    TypeError: 'ExcelData' object is not iterable
    输出重定向
    联想Thinkpad T450 屏幕更换记录
    C-sysytem命令的使用
    CMD命令大全
    Ubuntu16.04 添加 Docker用户组
    Docker学习
    Linux系统卡死后紧急处理
    Django之ModelForm详解
    Django的ORM实现数据库事务操作
  • 原文地址:https://www.cnblogs.com/already/p/4110019.html
Copyright © 2020-2023  润新知