ios 字符串MD5加密,返回加密后的字符串

iOS MD5加密算法

 1 #import <CommonCrypto/CommonDigest.h> // Need to import for CC_MD5 access
 2
 3
 4 - (NSString *)md5:(NSString *)str
 5 {
 6     const char *cStr = [str UTF8String];
 7     unsigned char result[16];
 8     CC_MD5(cStr, strlen(cStr), result); // This is the md5 call
 9     return [NSString stringWithFormat:
10         @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
11         result[0], result[1], result[2], result[3],
12         result[4], result[5], result[6], result[7],
13         result[8], result[9], result[10], result[11],
14         result[12], result[13], result[14], result[15]
15         ];
16 }

对应的java的加密算法

 1 package com.hiveview.phone.util;
 2
 3 import java.security.MessageDigest;
 4
 5
 6 public class Md5Utils {
 7
 8         private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5","6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
 9
10
11         /**
12
13          * 转换字节数组为16进制字串
14
15          *
16          * @param b
17
18          *            字节数组
19
20          * @return 16进制字串
21
22          */
23
24         public static String byteArrayToHexString(byte[] b) {
25
26                 StringBuffer resultSb = new StringBuffer();
27
28                 for (int i = 0; i < b.length; i++)
29                 {
30
31                         resultSb.append(byteToHexString(b[i]));
32
33                 }
34
35                 return resultSb.toString();
36
37         }
38
39
40         private static String byteToHexString(byte b) {
41
42                 int n = b;
43
44                 if (n < 0)
45
46                         n = 256 + n;
47
48                 int d1 = n / 16;
49
50                 int d2 = n % 16;
51
52                 return hexDigits[d1] + hexDigits[d2];
53
54         }
55
56
57         public static String MD5Encode(String origin) {
58
59                 String resultString = null;
60
61
62                 try {
63
64                         resultString = new String(origin);
65
66                         MessageDigest md = MessageDigest.getInstance("MD5");
67
68                         resultString = byteArrayToHexString(md.digest(resultString.getBytes()));
69
70                 } catch (Exception ex) {
71
72                     ex.printStackTrace();
73                 }
74
75                 return resultString;
76
77         }
78
79 }
时间: 2024-12-17 14:01:57

ios 字符串MD5加密,返回加密后的字符串的相关文章

传入一个字符串,已知字符串只由字母组成,将其中的大写字母转换为小写,小写转换为大写,返回转换后的字符串

传入一个字符串,已知字符串只由字母组成,将其中的大写字母转换为小写,小写转换为大写,返回转换后的字符串 如传入:@"GOODgoodSTUDY",返回@"goodGOODstudy" */ - (NSString *)upperExchangeLower:(NSString *)str { NSMutableString *str1=[[NSMutableString alloc] initWithString:str]; for (NSUInteger i=0;

iOS关于md5 32位加密

导入头文件: #import <CommonCrypto/CommonDigest.h> //32位MD5加密方式 //md5 32位 加密 (小写)- (NSString *)md5:(NSString *)str {                const char *cStr = [str UTF8String];                unsigned char result[32];                CC_MD5( cStr, strlen(cStr), re

iOS 中MD5和sha1加密

#import "CommonCrypto/CommonDigest.h" -(NSString *)getSha1String { NSData *data = [self dataUsingEncoding:NSUTF8StringEncoding]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(data.bytes, data.length, digest); NSMutableString* result = [NSMutabl

java 将字符串数组变为字典顺序排序后的字符串数组

import java.util.ArrayList; import java.util.Collections; import java.util.List; public class StringUtil { public static String[] stringSort(String [] s) { List<String> list = new ArrayList<String>(s.length); for (int i = 0; i < s.length; i

.net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密

写项目时,后台一直用md5加密,一天群里人问,除了MD5还有其它的加密方法吗?当时只知道还有个SHA,但怎么实现什么的都不清楚,于是当网上找了下,把几种常见的加密方法都整理了下,用winform写了个程序,如图: 关键代码 using System.Security;using System.Security.Cryptography;using System.Web;using System.IO; //MD5 不区分大小写的        //type 类型,16位还是32位,16位就是取3

ios开发Base64编码以及加密相关学习

一:.Base64补充 ```objc 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只用65个字符就能表示的文本文件. 65字符:A~Z a~z 0~9 + / = 对文件进行base64编码后文件数据的变化:编码后的数据~=编码前数据的4/3,会大1/3左右. 2.命令行进行Base64编码和解码 编码:base64 123.png -o 123.txt 解码:base64 123

C#对字符串的简单加密解密过程C#的SQL数据库登陆密码的加密解密加密还原直接复制代码使用即可

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; using System.IO; namespace PDAPrint { class ClassSecurityString { public static string encryptKey = "www.hanma-scan.com"; /

判断一个字符串是否为另外一个字符串左旋或右旋之后的字符串

题目: 判断一个字符串是否为另外一个字符串旋转之后的字符串.例如:给定s1 = abcdef和s2 = cdefab,返回1,给定s1=abcd和s2=ACBD,返回0. abcdef左旋一个字符得到bcdefa abcdef左旋两个字符得到cdefab abcdef右旋一个字符得到fabcde abcdef右旋两个字符得到efabcd 题目分析: 根据这个题目,我们能够和字符串的左旋和右旋联系起来,如果把给定的字符串拷贝一份放在给定字符串之后,例如:给定字符串abcdef,经过拷贝后得到字符串

iOS中MD5加密字符串实现

在说原型模式之前,我们先来看java里面的深复制和浅复制: 1. 浅复制:被复制的对象的所有变量都持有和原来对象的变量相同的值,而所有的对其他对象的引用都指向原来的对象. 2. 深复制:被复制对象的所有变量都含有与原来对象相同的值,除去那些引用其他变量的对象.那些引用其他对象的变量将指向被复制过来的新对象,而不是原来那些被引用的对象.深复制需要把要复制的对象的所有引用都复制一遍. 这两者的区别就是关于引用对象的处理,浅复制是不考虑引用对象,而深复制需要考虑引用对象的问题. 对java中的clon

java字符串MD5加密后再转16进制

话不多说上码 public static byte[] digest(String signStr) { MessageDigest md5Instance = null; try { md5Instance = MessageDigest.getInstance("MD5"); md5Instance.update(signStr.getBytes("utf-8")); } catch (NoSuchAlgorithmException e) { e.printS