iOS之那几种加密 MD5加密.

前言: 好好活着,因为我们会死很久.---海腾



iOS之那几种加密 MD5加密. 

接下来我们看代码


NSString+MD5.h
 
//
//  NSString+MD5.h
//  UI21_MD5加密
//
//  Created by JR_Rafael on 16/1/11.
//  Copyright © 2016年 lanou3g. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (MD5)

- (NSString *)stringFromMD5;

@end
 
NSString+MD5.m


//
//  NSString+MD5.m
//  UI21_MD5加密
//
//  Created by JR_Rafael on 16/1/11.
//  Copyright © 2016年 lanou3g. All rights reserved.
//

#import "NSString+MD5.h"
#import <CommonCrypto/CommonDigest.h>

@implementation NSString (MD5)

- (NSString *)stringFromMD5 {
    // 转成c字符串
    const char *string = self.UTF8String;
    // 获取字符串长度
    int length = (int)strlen(string);
    // 2. 创建字符串数组接收MD5值
    // 一个字节是8位,两个字节是16位,两个字符可以表示一个16位进制的数,MD5结果为32位,实际上由2个16进制数组成。
    unsigned char bytes[CC_MD5_DIGEST_LENGTH];

    CC_MD5(string, length, bytes);

    // 创建oc可变字符串存储md5
    NSMutableString *outputString = [[NSMutableString alloc] initWithCapacity:CC_MD5_DIGEST_LENGTH];
    for(NSInteger count = 0; count < CC_MD5_DIGEST_LENGTH; count++){
        [outputString appendFormat:@"%02x", bytes[count]];
    }

    return outputString;
}

@end
 ViewController.m
//
//  ViewController.m
//  MD5加密
//
//  Created by dllo on 16/1/12.
//  Copyright © 2016年 HaiTeng. All rights reserved.
//

#import "ViewController.h"
#import "NSString+MD5.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor redColor];
   /*
    //加密:通常来讲是客户端对用户端对用户的信息进行加密,将加密后的信息发送给服务器.服务器直接把加密后的信息存到数据库.
    //加密是通过各种复杂的算法,把明文(就是我们能看懂的东西)加密为暗文(密文).暗文没有绝对的安全.算法越复杂越不容易破解.
    //加密过得数据,直接存到服务器,每次身份验证时,都是验证暗文.只要暗文一致,明文一定一致.世界上只有你自己知道你的密码.
    //如果忘记密码怎么办?通常手机或者相关信息验证.服务器只能重置密码.BAT(百度,阿狸,腾讯)全都是这样.

    */

    [self MD5]; //MD5 单项的只进行加密.

}

- (void)MD5{
    //       //MD5加密
    //    NSString *name = @"海腾";
    //    NSString *pass = @"123654";
    //    NSString *secName = [[[pass stringFromMD5] stringFromMD5] stringFromMD5];/**< MD5加密 */  /* 我加了三层,可以写无限层 */
    //    NSLog(@"sec: %@",secName);/* 转换为暗文了,打印看看 */

    /*

     http://www.cmd5.com/       MD5解密网站 ,但是收费. 老子在下面进行手动加密. 你解密去吧.累死你.
     */

    //手动加密
    NSString *pass = @"123654";
    NSString *secPass = [pass stringFromMD5];/**< MD5加密 */
    NSLog(@"secPass : %@",secPass);
    //反相拼接,我把字符串截成两段,颠倒位置(这样安全了一些)
    NSString *subStr1 = [secPass substringToIndex:10];
    NSString *subStr2 = [secPass substringFromIndex:10];
    NSString *secSecPass = [NSString stringWithFormat:@"%@%@",subStr2,subStr1];
    NSLog(@"%@",secSecPass); //打印看看..
    //撒盐加密(往里面再插些字符串,你去破解吧,累死你.安全多了)
    NSMutableString *mStr = [NSMutableString stringWithString:secSecPass];/* 上面那个反相拼接的字符串*/
    [mStr insertString:@"11" atIndex:2];
    [mStr insertString:@"ht" atIndex:8];
    [mStr insertString:@"HAHA" atIndex:10];
    NSLog(@"%@",mStr);
    //终极撒盐加密
    NSString *newStr = [mStr stringByReplacingOccurrencesOfString:@"11" withString:@"sb"];/* 把@"11"转化为@"sb" */
    NSLog(@"%@",newStr);
}

@end
 


iOS之那几种加密 MD5加密.

时间: 2024-11-10 14:19:43

iOS之那几种加密 MD5加密.的相关文章

Android之简单加密–MD5 加密

在Android中需要对各种数据进行加密的操作,比如用户短信备份的数据加密.用户账户登陆的密码加密以及应用于服务器连接传递重要数据的加密,用处非常的多这里介绍一下MD5加密: 案例驱动: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 public class MD5Utils {      // 进行md5的加密运算      public static String encode(Strin

iOS-数据加密-MD5加密

数据加密 iOS开发中关于数据加密算法使用最多的就是MD5和Base64,但是开发者中最喜欢的也就是MD5,所以今天就简单介绍一下MD5在吗去使用, 当然关于数据加密还是看公司使用什么,公司使用什么我们就用什么,这里只是一个借鉴或者其他方面需要. 一.简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题. 如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据 “青花瓷”软件 因此:提交用户的隐私数据时

iOS开发 - 网络数据安全加密(MD5)

提交用户的隐私数据 一定要使用POST请求提交用户的隐私数据GET请求的所有参数都直接暴露在URL中请求的URL一般会记录在服务器的访问日志中服务器的访问日志是黑客攻击的重点对象之一 用户的隐私数据登录密码银行账号- - 数据安全 仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交 常见的加密算法 <code class="hljs tex&q

iOS开发-MD5加密、SHA1加密

1.MD5加密 ///MD5加密 + (NSString *)md5:(NSString *)inputString{ const char *cStr = [inputString UTF8String]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; CC_MD5( cStr, (int)strlen(cStr), digest ); NSMutableString *output = [NSMutableString stringWithCapac

AES加密解密&amp;amp;&amp;amp;SHA1、SHA加密&amp;amp;&amp;amp;MD5加密

AES加密解密 SHA1.SHA加密 MD5加密 二话不说立即附上代码: package com.luo.util; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.

手机安全卫士------手机防盗页面之自定义对话框&amp;MD5加密

功能需求: 用户点击主页面上的"手机防盗"按钮时,判断用户是否设置过密码. 如果没有设置过,则弹出输入密码对话框 如果设置过了,则弹出设置密码对话框 用户的密码要进行MD5加密之后再存储在内存中 技术点: - 自定义对话框的使用 - MD5加密的实现方式 - SharedPreferences的读写操作 自定义对话框 1.在layout目录下创建一个布局文件,把自定义的对话框布局设置成功 具体代码实现如下 设置密码对话框的布局代码: <?xml version="1.0

异常处理,约束,MD5加密,日志处理

1,异常处理 一般的异常处理说的是抛异常和处理异常 异常处理从产生异常开始语法: 抛异常:产生异常raise Exception("") 处理异常语法: 处理异常try: 操作except Exception as e: 异常父类,可以捕获所有异常else: 保护不抛出异常的代码,当try中午异常的时候执行finall: 最后总要执行我 自定义异常类,只需要继承Exception语法: 自定义异常class Gandererror(Exception): pass 处理异常用法: 1

iOS,一行代码进行RSA、DES 、AES、MD5加密、解密

最近做了一个移动项目,是有服务器和客户端类型的项目,客户端是要登录才行的,服务器也会返回数据,服务器是用Java开发的,客户端要同时支持多平台(Android.iOS),在处理iOS的数据加密的时候遇到了一些问题.起初采取的方案是DES加密,老大说DES加密是对称的,网络抓包加上反编译可能会被破解,故采取RSA方式加密.RSA加密时需要公钥和私钥,客户端保存公钥加密数据,服务器保存私钥解密数据.(iOS端公钥加密私钥解密.java端公钥加密私钥解密,java端私钥加密公钥解密都容易做到,iOS不

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

看完过后,你会学到: 1学习IOS开发中的分类实现, 2以及类方法的书写, 3以及字符串的MD5加密/解密. ---------------------------wolfhous------------------ [1]新建工程,新建分类 [2]分类的命名方式以及类的选择 [3]书写NSString分类的类方法,以及实现类方法,以及MD5如何加密 [4]测试加密结果 [5]解密:直接百度MD5解密,随便点歌网站进去,输入解密KEY,在我这个Demo中, wolfhous正常加密44bf025