IOS端与Java端MD5加密方法
来源:互联网 发布:淘宝店关注链接 编辑:程序博客网 时间:2024/04/25 13:16
IOS端与Java端MD5加密方法
关于NSString的MD5加密,这不难,在网上可以搜到很多算法,主要是跟后台的统一会出问题,对同一段字符串,ios和java加密后的结果可能不一样,很坑爹。现在贴一下ios端和后台java的代码。
java端:
public class test { public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; try { byte[] strTemp = s.getBytes(); MessageDigest mdTemp = MessageDigest.getInstance("MD5"); mdTemp.update(strTemp); byte[] md = mdTemp.digest(); int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexDigits[byte0 >>> 4 & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new String(str); } catch (Exception e) { return null; } } //测试 public static void main(String[] args) { String testStr = "1"; String resultStr = MD5(testStr); System.out.println(resultStr); } }或:
public static String md5(String str) {String digest = null;StringBuffer buffer = new StringBuffer();try {MessageDigest digester = MessageDigest.getInstance("md5");byte[] digestArray = digester.digest(str.getBytes());for (int i = 0; i < digestArray.length; i++) {buffer.append(String.format("%02x", digestArray[i]));}digest = buffer.toString();} catch (Exception e) {e.printStackTrace();}return digest;}
IOS端,.h文件
@interface NSString_MD5 : NSObject+(NSString *)stringToMD5:(NSString *)inputStr;@end
.m文件
#import "CommonCrypto/CommonDigest.h"@implementation NSString_MD5+(NSString *)stringToMD5:(NSString *)inputStr{ const char *cStr = [inputStr UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(cStr, strlen(cStr), result); NSString *resultStr = [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15] ]; return [resultStr lowercaseString];}@end
然后使用时可以这样,
NSString *pwd = [NSString_MD5 stringToMD5:@"sss"];
用这两种方法,可以达到ios端和java端加密后的结果一致。
0 0
- IOS端与Java端MD5加密方法
- IOS-MD5加密方法
- IOS MD5加密方法
- JAVA MD5加密方法
- Java MD5加密方法
- JAVA MD5加密方法
- Java MD5加密方法
- iOS 客户端MD5加密方法
- iOS中的MD5加密方法
- java调用MD5方法加密
- Java MD5加密方法类
- Java-MD5加密的方法
- (Android、Java) MD5加密方法
- JAVA MD5 加密与解密
- JAVA加密技术-----MD5 与SHA 加密
- ios 自定义苹果原生方法 md5加密
- 【iOS】MD5加密与网络数据安全
- 【iOS】MD5加密与网络数据安全
- Android Studio Error:(2, 0) apply plugin: 'com.github.dcendents.android-maven'报错
- mssql2008 列转行语句
- 人邮出版社出的书 -- 从此不再光顾
- Struts2 jsp页面和Action之间的传值方式
- VMware克隆CentOS修改Linux MAC地址
- IOS端与Java端MD5加密方法
- 使用注释来显示PDT中的PHP代码助手 -- 郁闷用了6个月才发现这个功能
- python 关于文件的一些方法
- 在万网花了100大元买了域名iamsese.cn -- 亏了
- iamsese.cn 站点开发纪实 之 开篇1
- 动手制做自己的一张软盘大小的Linux 选项
- 如何安装MINIX 3 -- 这篇文档转自我在google上的博客
- 开发www.miibeian.gov.cn的JAVAEE大师 -- I 服了油
- 获得执行jar的运行路径