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 = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH *2];

for(int i =0; i < CC_SHA1_DIGEST_LENGTH; i++) {

[result appendFormat:@"%02x", digest[i]];

}

return result;

}

-(NSString *)getMd5String

{

const char *cStr = [self UTF8String];

unsigned char result[CC_MD5_DIGEST_LENGTH];

CC_MD5(cStr, strlen(cStr), result);

return [[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]

] lowercaseString];

}

时间: 2024-10-31 19:00:09

iOS 中MD5和sha1加密的相关文章

python 中md5 和 sha1 加密, md5 + os.urandom 生成全局唯一ID

首先先来介绍一下md5 和 sha1 的概念 MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法).128位长度.目前MD5是一种不可逆算法. 具有很高的安全性.它对应任何字符串都可以加密成一段唯一的固定长度的代码. SHA1 SHA1的全称是Secure Hash Algorithm(安全哈希算法) .SHA1基于MD5,加密后的数据长度更长, 它对长度小于264的输入,产生长度为160bit的散列值.比MD5多32位. 因此,比MD5更加安全,但SHA

ASP.NET中MD5与SHA1加密的几种方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

iOS中MD5加密字符串实现

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

delphi base64 md5与sha1加密单(cnvcl)

今天一直在研究delphi中的base64和sha1,使用的是http://www.cnpack.org的cnvcl中的单元,CnSHA1.pas和CnBase64.pas,很感谢cnpack组的贡献,让我们方便的在delphi中使用base64与sha1加密,还有md5. 在使用单次加密时还和php的结果还可以说一样,就是php都是小写,delphi是大写,但两次加密后结果就完全不一样的,因为大小写二次加密结果是不一样的,这一点要注意. 使用这三种加密方式时要分别引用CnSHA1,CnBase

android MD5和SHA1加密实例

//找了好久,网上的很多加密结果不对,最后百度加我自己修改成功解决问题 public class MD5 { private static String key = "a6U&1$Ip[Jr/sed]Rfvn=O>Mz+}lXN*%-gLcGD|0"; //MD5加密实例 public static String getMD5(String str) throws NoSuchAlgorithmException { MessageDigest md5 = null; t

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

MD5和SHA-1

MD5和SHA-1都是我们耳熟能详的术语了,很多人可能知道他们跟加密有关系,但是他们是怎么做到加密的,他们各自的特点又是什么.我来简单的讲一讲. MD5和SHA-1都被称作哈希(Hash)函数,用过Java语言的人对这个术语应该相当熟悉.Java类库里的Object类定义了hashCode这个函数,但是java的概念略有不同.正式的哈希函数的定义是"把任意长度的数据计算成固定长度的数据".也就是说函数的输入是任意长的,输出总是固定长度的.MD5和SHA-1是两种加密用哈希函数,MD5的

Python md5 和 sha1 的使用

测试版本: Python 2.7 测试说明: Python 内置的 hashlib 模块中有 md5 和 sha1 加密方法,可以直接使用. md5加密 import hashlib data = 'This a md5 test!' hash_md5 = hashlib.md5(data) hash_md5.hexdigest() sha1加密 import hashlib hashlib.sha1('This is a sha1 test!').hexdigest() md5加密对比两个文件

IOS中DES与MD5加密方案

  0 2 项目中用的的加密算法,因为要和安卓版的适配,中间遇到许多麻烦. MD5算法和DES算法是常见的两种加密算法. MD5:MD5是一种不可逆的加密算法,按我的理解,所谓不可逆,就是不能解密,那么它有什么用的,它的用处大了,大多数的登录功能都会使用到这种算法.后面根据我的项目经验来介绍. DES:一种使用密钥加密的块算法,所以,使用它加密时,需要一个密钥,加上一些设置和你需要加密的文段. 在IOS中,使用这两种加密算法非常简单,系统的<CommonCrypto/CommonCrypto.h