看完过后,你会学到:

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

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

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

    16位的MD5加密和32位MD5加密的区别 MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16 ...

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

    需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数 ...

  3. NET实现RSA AES DES 字符串 加密解密以及SHA1 MD5加密

    本文列举了    数据加密算法(Data Encryption Algorithm,DEA) 密码学中的高级加密标准(Advanced EncryptionStandard,AES)RSA公钥加密算法 ...

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

    很多时候要对秘要进行持久化加密,此时的加密采用md5.采用对称加密的时候就采用DES方法了 import java.io.IOException; import java.security.Messa ...

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

    md5 32位 加密原理 简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环加工,拼接结果. 第一步:处理原文 首先,我们计算出原文长度(bit)对 512 求余的结果,如果不等于 ...

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

    1.方法一 (不可逆加密) srxljl public string EncryptPassword(string PasswordString,string PasswordFormat )     ...

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

    介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, A ...

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

    摘自:博客园 介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Se ...

  9. IOS常见的加密方法,常用的MD5和Base64

    iOS代码加密常用加密方式 iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密.AES加密.BASE64加密,三大算法iOS代码加密是如何进行加密的,且看下文 MD5 iO ...

  10. Android和IOS等效MD5加密

    最近在Android和IOS上都需要对用户的某些输入进行简单的加密,于是采用MD5加密方式. 首先将目的字符串加密一次,获得32位字符串 然后将32位字符串拆为2段,分别加密1次 最后将加密后的2段拼 ...

随机推荐

  1. TFS Build Silverlight项目的两个问题

    1.The Silverlight 4 SDK is not installed. 打开对应的Build Definition,Process -> Advanced -> MSBuild ...

  2. SQL SERVER 使用select和union插入多条数据

    insert into A(A) select '2' union select '3' union select '100' go select * from A

  3. ruby self.included用法

    ===Module#included 当一个模块混入到类时,如果该模块的included方法已经定义,那么该方法被调用.该方法的唯一参数就是接受混含的类的名字. module M def self.i ...

  4. 表格CSS样式美化

    1. 单像素边框CSS表格 这是一个很常用的表格样式. <!-- CSS goes in the document HEAD or added to your external styleshe ...

  5. Unity 中的协同程序

    今天咱就说说,协同程序coroutine.(这文章是在网吧敲的,没有unity,但是所有结论都被跑过,不管你信得过我还是信不过我,都要自己跑一下看看,同时欢迎纠错)先说说啥是协程:协同程序是一个非常让 ...

  6. 找工作--Java相关

    Hi 各位 首先自我描述一下,80后程序员,现在在做Eclipse插件开发. 求Java相关职位(Java/Swing/Eclipse Plugin/Python etc), 或者Linux下C相关职 ...

  7. django 快速实现完整登录系统(cookie)

    经过前面几节的练习,我们已经熟悉了django 的套路,这里来实现一个比较完整的登陆系统,其中包括注册.登陆.以及cookie的使用. 本操作的环境: =================== deep ...

  8. Vue基础---->VueJS的使用(一)

    Vue.js是一个构建数据驱动的web界面的库.它的目标是通过尽可能简单的API 实现响应的数据绑定和组合的视图组件,今天我们就开始vue.js的学习. vue的安装及使用 一.vue的下载地址:ht ...

  9. onhashchange事件,只需要修改hash值即可响应onhashchange事件中的函数(适用于上一题下一题和跳转页面等功能)

    使用实例: 使用onhashchange事件做一个简单的上一页下一页功能,并且当刷新页面时停留在当前页 html: <!DOCTYPE html><html><body& ...

  10. asp.net JavaScriptSerializer实现序列化和反序列化

    通过JavaScriptSerializer来实现.它的名字空间为:System.Web.Script.Serialization 如果要使用它,还须添加 System.Web.Extensions库 ...