实现mac端调试工具验证结果正确性,代码兼容iOS和MacOS,其中SM3,SM4使用C语言代码,补位代码和分组模式代码自行通过objective-c代码实现,加强理解。代码基本通过category形式提供。
- 
NSString和NSData各种编码转换(UTF-8,GBK,Latin1,unicode,shiftJI)
 - 
NSData转换hexString及base64String方便调试看数据
 - 
NSString与NSData之间转换
 - 
base64
 - 
hash(MD5,SHA1,SHA256,SHA3,SM3,HMAC)
 - 
对称加解密(DES,3DES,AES,SM4)
支持分组加密模式有: ECB、CBC、PCBC、CFB、OFB、CTR填充方式(分组不足补位)有:PKCS7、zero、ANSIX923、ISO10126、0x80等 - 
der,cer证书文件解析
 
包含base64,数据转换,摘要算法,对称加解密
 pod 'LBXDataHandler', '~> 1.0.3'
NSData+LBXConverter.hNSString+LBXConverter.h
- 
NSData+LBXHash.h各种摘要算法 - 
NSString+LBXFileHash.h文件摘要 
- 
NSData+LBXBase64.hbase64变换 - 
NSString+LBXBase64.hbase64反变换 
- 
NSData+LBXConverter.h转换成各种形式NSString,字典等 - 
NSString+LBXConverter.h各种编码转换、NSData,NSDate等 
NSData+LBXCrypt.h对称加解密封装接口
/**
 encrypt interface
 @param op encryt or decrypt
 @param alg encryt algorithm
 @param om ECB、CBC、CFB、OFB
 @param padding padding type
 @param key key
 @param iv init vector
 @param error return err info
 @return  result,fail if return nil
 */
- (NSData*)LBXCryptWithOp:(LBXOperaton)op
                algorithm:(LBXAlgorithm)alg
               optionMode:(LBXOptionMode)om
                  padding:(LBXPaddingMode)padding
                      key:(id)key
                       iv:(id)iv
                    error:(NSError**)error;


