32 md5 swift_swift md5 32位大写 - CSDN
  • Swift MD5加密

    2016-07-13 09:39:42
     对于那些不需要太多的加密,只需要MD5加密的同学,我建议还是不要用第三方库.  因为第三方包很大,而且每次使用还需要引入包,相对来说比较复杂,不如直接写一个方法比较简单.  下面就是MD5加密的方法. func md5...

    Swift MD5加密在github有一个非常好的第三方库,使用也比较简单,还有很多加密方法,如果需要,点击这里下载

     对于那些不需要太多的加密,只需要MD5加密的同学,我建议还是不要用第三方库.

      因为第三方包很大,而且每次使用还需要引入包,相对来说比较复杂,不如直接写一个方法比较简单.

      下面就是MD5加密的方法.


    func md5String(str:String) -> String{
        let cStr = str.cStringUsingEncoding(NSUTF8StringEncoding);
        let buffer = UnsafeMutablePointer<UInt8>.alloc(16)
        CC_MD5(cStr!,(CC_LONG)(strlen(cStr!)), buffer)
        let md5String = NSMutableString();
        for i in 0 ..< 16{
            md5String.appendFormat("%02x", buffer[i])
        }
        free(buffer)
        return md5String as String
    }


    如果你直接把我的代码复制到你的工程文件里,是不能编译过去的,那是为什么呢,错了么,还是误导呢.在这里先声明一下. 看文章一定要看完再下结论.不然,都不知道,我在写什么.废话少说了.下面接着看.

    首先创建一个xxx-Bridging-Header.h桥接文件,这个文件怎么创建呢,如果实在不知道请Google.好吧.

     如果继续往下看,就不需要谷歌了.common+N创建一个oc类,会自动提示是否创建一个桥接文件,点击创建即可.

    如下图:

      


    第二步,你会在下边的图中看到一个文件的名字,和这个是一样的.




    那就说明OK了,如果没有,请手动添加了.


    最后一步在,这个文件里导入<CommonCrypto/CommonDigest.h>这个文件.再编译一次,就OK了.



    展开全文
  • swift3.0 MD5加密源码

    2017-07-16 13:44:34
    因为MD5加密是不可逆的,所以一般只有MD5加密的算法,而没有MD5解密的算法。 创建一个Sting+MD5.Swift字符串分类文件(同时此处需要创建一个bridge.h桥接文件,引入这个头文件 #import ,md5加密方法需要使用的...

    因为MD5加密是不可逆的,所以一般只有MD5加密的算法,而没有MD5解密的算法。

    创建一个Sting+MD5.Swift字符串分类文件(同时此处需要创建一个bridge.h桥接文件,引入这个头文件

    #import <CommonCrypto/CommonDigest.h>,md5加密方法需要使用的文件

    1.bridge.h桥接文件如下:

    #ifndef bridge_h  
    #define bridge_h  
      
    #import <CommonCrypto/CommonDigest.h>  
      
    #endif /* bridge_h */ 

    2. Sting+MD5.swift字符串分类文件如下

    MD5加密算法如下

    import Foundation  
      
    extension String {  
        var md5 : String{  
            let str = self.cString(using: String.Encoding.utf8)  
            let strLen = CC_LONG(self.lengthOfBytes(using: String.Encoding.utf8))  
            let digestLen = Int(CC_MD5_DIGEST_LENGTH)  
            let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen)  
              
            CC_MD5(str!, strLen, result)  
              
            let hash = NSMutableString()  
            for i in 0 ..< digestLen {  
                hash.appendFormat("%02x", result[i])  
            }  
            result.deinitialize()  
              
            return String(format: hash as String)  
        }  
    }  
    
    


    展开全文
  • swift 4.0 MD5 加密

    2018-05-07 12:12:29
    之前写过一个 swift md5 加密的的文章很短,很短,但是很实用,有的朋友说有问题不能运行,这里我先声明我的xcode9.3的 这个版本截止到目前是最新的,我这个是没问题的.那么我总是感觉那个方法还有点oc的味道,所以今天就...

    之前写过一个 swift md5 加密的的文章很短,很短,但是很实用,有的朋友说有问题不能运行,这里我先声明我的xcode9.3的 这个版本截止到目前是最新的,我这个是没问题的.那么我总是感觉那个方法还有点oc的味道,所以今天就改成完全是swift 版本.

    直接上代码:

    var MD5String: String {

            let cStrl = cString(using: String.Encoding.utf8.rawValue);

            let buffer = UnsafeMutablePointer<UInt8>.allocate(capacity: 16);

            CC_MD5(cStrl, CC_LONG(strlen(cStrl!)), buffer);

            var md5String = "";

            for idx in 0...15 {

                let obcStrl = String.init(format: "%02x", buffer[idx]);

                md5String.append(obcStrl);

            }

            free(buffer);

            return md5String;

        }

    可以给String 添加一个扩展,这样MD5就是Ta的一个属性了,效率高很多.

    另外要说的是 其他的操作不能少,如果还有问题,欢迎拍砖....





    展开全文
  • Swift4 MD5加密

    2018-08-30 17:20:37
    现在大多IOS开发者对Swift持观望态度,原因无非是这门语言太年轻,不稳定之类的,再加之ABI稳定版本(据说是Swift5)不知何时能来,大家普遍生出了再等等的心态。然而,总结这几日的使用情况,Swift4.2的简洁和强大...

    Swift4.2已近发布一段时间了,新版本的稳定性以及对上个版本的兼容性都有了显著的提升(再也不用吐槽:每个Swift版本都像是一门新的语言啦,hahaha…)。现在大多IOS开发者对Swift持观望态度,原因无非是这门语言太年轻,不稳定之类的,再加之ABI稳定版本(据说是Swift5)不知何时能来,大家普遍生出了再等等的心态。然而,总结这几日的使用情况,Swift4.2的简洁和强大的表现力深深的折服了我,走过了四年的风风雨雨, Swift日趋成熟,所以,现在上车,恰逢其时…

    言归正传,下面记录下今天遇到的问题吧:

    是的,很简单的一个问题,Swift里的MD5加密。搜了些网上的,发现都有些陈旧,各种报错,有的甚至还要桥接OC。综合大家的写法,找到一段能稳定跑起来的代码,暂时用起来没有问题。下面贴出来,希望能帮到大家,欢迎指正:

    import Foundation
    // 导入CommonCrypto
    import CommonCrypto
    
    // 直接给String扩展方法
    extension String {
        func md5() -> String {
            let str = self.cString(using: String.Encoding.utf8)
            let strLen = CUnsignedInt(self.lengthOfBytes(using: String.Encoding.utf8))
            let digestLen = Int(CC_MD5_DIGEST_LENGTH)
            let result = UnsafeMutablePointer<UInt8>.allocate(capacity: 16)
            CC_MD5(str!, strLen, result)
            let hash = NSMutableString()
            for i in 0 ..< digestLen {
                hash.appendFormat("%02x", result[i])
            }
            free(result)
            return String(format: hash as String)
        }
    }

    用法:

    let str = "xxx"
    let sign = str.md5()
    print("result in \(sign)")

    发现Swift支持了namespace后,再也不用导一大推头文件了,又想到隔壁的Java早就支持了,瞬间感觉OC Low了很多;Swift不是纯面向对象的语言,这意味着,函数可以单独写在一个文件里,直接调用;struct也升级到将要和class平起平坐的地位,enum强大的令人难以置信;还有很多新特性,像一个个黑魔法,有着无限魔力,令人着迷。接下来,会继续探索,Swift,你上车了吗?

    展开全文
  • swiftMD5加密

    2016-02-19 15:56:25
    //代码中应用md5() passwordTF.text?.md5()扩展String(MD5算法)/* * 将字符串进行MD5加密,返回加密后的字符串 */ extension String{ func md5() ->String!{ let str = self.cStringUsingEncoding(NSUTF8String...
  • MD5的全称是MessageDigest Algorithm 5,即消息摘要算法第五版,是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。在90年代初由MIT Laboratory for Computer Science 和RSA Data Security Inc的...
  • MD5加密 Swift

    2019-03-13 14:31:05
    func md5String(str:String) -&gt; String{ let cStr = str.cString(using: String.Encoding.utf8); let buffer = UnsafeMutablePointer&lt;UInt8&gt;.allocate(capacity: 16) CC_MD5(...
  • SwiftMD5加密

    2016-01-14 11:20:12
    extension String { var md5: String! { let str = self.cStringUsingEncoding(NSUTF8StringEncoding) let strLen = CC_LONG(self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)) let digestLen =
  • swift 5.0 字符串md5加密

    2019-12-18 09:01:05
    func md5() -> String { let str = self.cString(using: String.Encoding.utf8) let strLen = CUnsignedInt(self.lengthOfBytes(using: String.Encoding.utf8)) let digestLen = Int(C...
  • extension String { var md5:String { let utf8 = cString(using: .utf8) var digest = [UInt8](repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH)) CC_MD5(utf8, CC_LONG(utf8!.count ...
  • swift 获取文件的Md5

    2019-07-21 02:12:40
    获取文件的Md5值的方法如下 func md5File(url: URL) -> String? { let bufferSize = 1024 * 1024 do { //打开文件 let file = try FileHandle(forReadingFr...
  • iOS-MD5加密32位扩展类

    2016-04-27 09:55:34
    NSString+MD5.h// // NSString+MD5.h // Spread // // Created by 邱学伟 on 16/4/26. // Copyright © 2016年 邱学伟. All rights reserved. //#import <Foundation/Foundation.h>@interface NSString (MD5) /** 将...
  • MD5

    2018-09-01 09:39:10
    import java.security.MessageDigest; import static java.security.MessageDigest.getInstance; public class MD5Util { ... * MD5加码 生成32md5码 */ public static String string2MD5(String in...
  • iOS swift MD5加密

    2016-09-21 11:02:42
    Swift中通过调用OC的CommonCrypto库可以很方便的实现String字符串转换为sha1。 在一个swift项目中,需要使用桥接头文件(Bridging header)的方式来引入一个OC库,才能调用OC中的内容。 新建一个Objective-C...
  • swift 文件 MD5

    2019-03-11 17:56:45
    swift 文件 MD5import CommonCrypto/** 文件的MD5*/func md5File(path:String) -&gt;String? { let url =URL.init(fileURLWithPath: path) let bufferSize =1024*1024 do{ //打开文...
  • swift使用md5

    2015-07-06 11:46:16
    swift使用md5: 1:在XX-Bridging-Header.h 中添加头文件 #import 2:md5的方法 func md5() -> String! {  let str = self.cStringUsingEncoding(NSUTF8StringEncoding)  let strLen = CUnsignedInt(self....
  • swift MD5加密

    2020-07-27 16:20:03
    最近使用到了MD5加密,就写了这个扩展,看代码吧。 详情请查看Demo // MARK: ------------------------ 字符串加密 // 首先导入加密库 import CommonCrypto extension String { /// MD5加密类型 enum MD5...
  • swift MD5 加密

    2016-09-09 14:15:23
    MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。  其作用是让大容量信息在用数字...
  • OC: 使用前需先#import  ...+(NSString *)getImageMD5:(NSString *)path{  NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:path];   if( handle== nil ) {  
1 2 3 4 5 ... 20
收藏数 3,565
精华内容 1,426
关键字:

32 md5 swift