zoukankan      html  css  js  c++  java
  • 常用到的MD5加密

    最近项目老遇到参数转化MD5拼接URL,直接上代码

    #import <Foundation/Foundation.h>
    NS_ASSUME_NONNULL_BEGIN
    @interface DNMD5Secret : NSObject
    // MD5加密
    /*
    *由于MD5加密是不可逆的,多用来进行验证*/
    /** 32位小写 */
    + (NSString *)ym_MD5ForLower32Bate:(NSString *)strObj;
    /** 32位大写 */
    + (NSString *)ym_MD5ForUpper32Bate:(NSString *)strObj;
    /** 16为大写 */
    + (NSString *)ym_MD5ForUpper16Bate:(NSString *)strObj;
    /** 16位小写 */
    + (NSString *)ym_MD5ForLower16Bate:(NSString *)strObj;
    @end
    NS_ASSUME_NONNULL_END

    #import "DNMD5Secret.h"
    #import <CommonCrypto/CommonDigest.h>

    @implementation DNMD5Secret

    /** 32位小写 */
    + (NSString *)ym_MD5ForLower32Bate:(NSString *)strObj {
    //要进行UTF8的转码
    const char* input = [strObj UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    CC_MD5(input, (CC_LONG)strlen(input), result);

    NSMutableString *digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
    [digest appendFormat:@"%02x", result[i]];
    }
    return digest;
    }

    /** 32位大写 */
    + (NSString *)ym_MD5ForUpper32Bate:(NSString *)strObj {
    //要进行UTF8的转码 const char* input = [strObj UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    CC_MD5(input, (CC_LONG)strlen(input), result);
    NSMutableString *digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
    [digest appendFormat:@"%02X", result[i]];
    }
    return digest;
    }

    /** 16为大写 */
    + (NSString *)ym_MD5ForUpper16Bate:(NSString *)strObj {
    NSString *md5Str = [self ym_MD5ForUpper32Bate:strObj];
    NSString *string;
    for (int i=0; i<24; i++) {
    string=[md5Str substringWithRange:NSMakeRange(8, 16)];
    }
    return string;
    }

    /** 16位小写 */
    + (NSString *)ym_MD5ForLower16Bate:(NSString *)strObj {
    NSString *md5Str = [self ym_MD5ForLower32Bate:strObj];
    NSString *string; for (int i=0; i<24; i++) {
    string=[md5Str substringWithRange:NSMakeRange(8, 16)];
    }
    return string;
    }

  • 相关阅读:
    C语言课程设计 学生信息管理系统 (简单版)
    Windows 常用Cmd命令行 (持续更新...)
    C++课程设计 通讯录管理系统 原码及解析
    C++ Error 个人笔记(live)
    sql查询当天数据
    web.xml中load-on-startup标签的含义
    @Repository、@Service、@Controller 和 @Component
    SQL Server JDBC驱动中sqljdbc和sqljdbc4区别
    windows下设置/删除Tomcat的开机自启动
    【Python技巧系列】条件语句一行实现
  • 原文地址:https://www.cnblogs.com/ljj-Andrew-519/p/13385773.html
Copyright © 2011-2022 走看看