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
IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现的更多相关文章
- 16位的MD5加密和32位MD5加密的区别
16位的MD5加密和32位MD5加密的区别 MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16 ...
- IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中
需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数 ...
- NET实现RSA AES DES 字符串 加密解密以及SHA1 MD5加密
本文列举了 数据加密算法(Data Encryption Algorithm,DEA) 密码学中的高级加密标准(Advanced EncryptionStandard,AES)RSA公钥加密算法 ...
- java实现DES加密与解密,md5加密
很多时候要对秘要进行持久化加密,此时的加密采用md5.采用对称加密的时候就采用DES方法了 import java.io.IOException; import java.security.Messa ...
- md5 32位 加密原理 Java实现md5加密
md5 32位 加密原理 简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环加工,拼接结果. 第一步:处理原文 首先,我们计算出原文长度(bit)对 512 求余的结果,如果不等于 ...
- c#加密 可逆与不可逆MD5 加密
1.方法一 (不可逆加密) srxljl public string EncryptPassword(string PasswordString,string PasswordFormat ) ...
- (译)利用ASP.NET加密和解密Web.config中连接字符串
介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, A ...
- 利用ASP.NET加密和解密Web.config中连接字符串
摘自:博客园 介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Se ...
- IOS常见的加密方法,常用的MD5和Base64
iOS代码加密常用加密方式 iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密.AES加密.BASE64加密,三大算法iOS代码加密是如何进行加密的,且看下文 MD5 iO ...
- Android和IOS等效MD5加密
最近在Android和IOS上都需要对用户的某些输入进行简单的加密,于是采用MD5加密方式. 首先将目的字符串加密一次,获得32位字符串 然后将32位字符串拆为2段,分别加密1次 最后将加密后的2段拼 ...
随机推荐
- Java知多少(下)
Java知多少(78)Java向量(Vector)及其应用 Java知多少(79)哈希表及其应用 Java知多少(80)图形界面设计基础 Java知多少(81)框架窗口基础 Java知多少(82)标签 ...
- Windows 服务开发框架介绍 - Topshelf
关于 TopShelf Topshelfis a framework for hosting services written using the .NET framework. The creati ...
- Android之startActivityForResult的使用
在Android中startActivityForResult主要作用就是: A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A ...
- 和为S的连续正数序列
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得到另一 ...
- 《构建之法》第8、9、10章 读书笔记和Sprint总结
第八章:需求分析 这章主要解析了需求的多面方面,不同的项目需要不同的手段,真正的需求稍纵即逝,需要靠火眼金睛和敏捷的身手来发现并抓住它们.另外,很多时候用户并不知道自己确切的需求,或者不愿意表达完整的 ...
- 面向对象的JavaScript(3):私有成员和公开成员
在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求 良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScrip ...
- onclick事件与onserverclick事件
1.这里仅对web控件而言,onclick事件执行的是客户端中的代码, <%@ Page Language="C#" AutoEventWireup="true&q ...
- js不间断滚动
CSS ul, li { margin: 0; padding: 0; } #scrollDiv { width: 300px; height: 25px; line-height: 25px; bo ...
- Flask and uWSGI - unable to load app 0 (mountpoint='') (callable not found or import error)
Here is my directory structure: -/path/to/folder/run.py -|app -|__init__.py -|views.py -|templates - ...
- PHP学习笔记:使用session来存储用户的登录信息
session可以用来存储多种类型的数据,因此具有很多的用途,常用来存储用户的登录信息,购物车数据,或者一些临时使用的暂存数据等. 用户在登录成功以后,通常可以将用户的信息存储在session中,一般 ...