IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

看完过后,你会学到:

1学习IOS开发中的分类实现,

2以及类方法的书写,

3以及字符串的MD5加密/解密.

---------------------------wolfhous------------------

[1]新建工程,新建分类

[2]分类的命名方式以及类的选择

[3]书写NSString分类的类方法,以及实现类方法,以及MD5如何加密

[4]测试加密结果

[5]解密:直接百度MD5解密,随便点歌网站进去,输入解密KEY,在我这个Demo中,

wolfhous正常加密44bf025d27eea66336e5c1133c3827f7

wolfhous牛逼加密44fb461963aae22772a18557787c63b3

-------------------------wolfhous-----------------------

可见,牛逼加密普通网站无法解密,建议开发中,用户在注册时输入密码时,使用该加密.当然,牛逼加密方式N多种,我这只列出一种简单的方式,下面放源码

#import "NSString+md5String.h"

//引入必要头文件

#import <CommonCrypto/CommonDigest.h>

@implementation NSString (md5String)

/** md5 一般加密 */

+ (NSString *)md5String:(NSString *)str

{

const char *myPasswd = [str UTF8String];

unsigned char mdc[16];

CC_MD5(myPasswd, (CC_LONG)strlen(myPasswd), mdc);

NSMutableString *md5String = [NSMutableString string];

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

[md5String appendFormat:@"%02x",mdc[i]];

}

return md5String;

}

/** md5 NB(牛逼的意思)加密*/

+ (NSString *)md5StringNB:(NSString *)str

{

const char *myPasswd = [str UTF8String];

unsigned char mdc[16];

CC_MD5(myPasswd, (CC_LONG)strlen(myPasswd), mdc);

NSMutableString *md5String = [NSMutableString string];

[md5String appendFormat:@"%02x",mdc[0]];

for (int i = 1; i< 16; i++) {

[md5String appendFormat:@"%02x",mdc[i]^mdc[0]];

}

return md5String;

}

@end

时间: 2024-12-23 04:13:57

IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现的相关文章

对文件、字符串和byte数组进行MD5加密

近来借助网络研究了一下MD5对文件的加密,顺便也总结一下对字符串和byte数组的加密,现贴出代码: import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.security.MessageDigest; import java

16位的MD5加密和32位MD5加密的区别

16位的MD5加密和32位MD5加密的区别 MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16位MD5散列要比破解32位MD5散列还慢因为他多了一个步骤,就是使用32位加密后再把中间16位提取出来, 然后再进行对比而破解32位的则不需要,加密后直接对比就可以了 admin 的加密代码:16位加密:7a57a5a743894a0e32位加密:21232f297a57a5a743894a0e4a

c#加密 可逆与不可逆MD5 加密

1.方法一 (不可逆加密) srxljl public string EncryptPassword(string PasswordString,string PasswordFormat )     {      string   encryptPassword = null;     if (PasswordFormat="SHA1"){           encryptPassword=FormsAuthortication.HashPasswordForStoringInCo

IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中

需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数据存在一个字符串中 C:把字符串转换成字符串数组 D:对字符串数组进行排序 E:数组转换成字符串 F:把字符串写入文件中 1 public static void main(String[] args) throws IOException { 2 // 读取文件中的数据 缓冲字符输入流 3 Buf

找回MD5加密的密码及MD5加密数据库中数据

有时,在开发过程中,如果不小心更改掉了项目管理员帐号的密码而又忘了,存在数据库里的密码又是MD5加密后的,这时候怎么办?最为菜鸟的我,刚开始也很迷茫,不过向前辈们请教了请教,自己也查了查资料,特意整理记录一下,并分享给大家. 前提是你知道这个密码存在在哪个表的哪个字段,只不过是加密了,如果是oracle数据库的话,可以用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('预置密码'))来得到一个MD5加密后的密码, 所以我们可

java实现DES加密与解密,md5加密

很多时候要对秘要进行持久化加密,此时的加密采用md5.采用对称加密的时候就采用DES方法了 1 import java.io.IOException; 2 import java.security.MessageDigest; 3 import java.security.SecureRandom; 4 5 import javax.crypto.Cipher; 6 import javax.crypto.SecretKey; 7 import javax.crypto.SecretKeyFac

js 中去掉字符串两边的空的方法(即java中的trim()方法)

str = str.replace(/(^\s*)|(\s*$)/g,''); str = str.replace(/(^\s*)|(\s*$)/g,'');

md5 32位 加密原理 Java实现md5加密

md5 32位 加密原理 简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环加工,拼接结果. 第一步:处理原文 首先,我们计算出原文长度(bit)对 512 求余的结果,如果不等于 448,就需要填充原文使得原文对 512 求余的结果等于 448.填充的方法是第一位填充 1,其余位填充 0.填充完后,信息的长度就是 512*N+448. 之后,用剩余的位置(512-448=64 位)记录原文的真正长度,把长度的二进制值补在最后.这样处理后的信息长度就是 512*(N+1). 第

利用ASP.NET加密和解密Web.config中连接字符串

介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, Ajax, JavaScript等的文章.大多数情况下,我都把数据库的连接字符串放在了web.config中.其中包含许多敏感信息,包括连接数据库的用户名密码等.然而我们在web.config和machine.config中以纯文本的方式保存密码安全吗? 如果我们的程序只是部署在内部服务器中,这应该没

【iOS】MD5加密与网络数据安全

在做网络应用程序的时候, 时时刻刻要保证用户数据的安全, 因此要加密. MD5算法在国内用的很多. MD5算法的特点: *同样的数据加密结果是一样的.(32个字符) *不可逆的.(不能逆向解密) *可用于文件校验/指纹识别. MD5算法是公开的,iOS中已经包装好了MD5算法. 可以将其写成字符串的分类: - (NSString *)md5String { const char *string = self.UTF8String; int length = (int)strlen(string)