了解加密相关

//
//  ViewController.m
//  06 了解加密相关
//
//  Created by kun on 16/8/15.
//  Copyright © 2016年 kun. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    NSLog(@"%@", [self base64EncodeString:@"A"]);
    NSLog(@"%@", [self base64AcodeString:[self base64EncodeString:@"A"]]);
}

// 对一个字符串进行base64编码,并且返回
- (NSString *)base64EncodeString:(NSString *)string
{
    // 先转换为二进制数据
    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
    // 对二进制数据进行base64编码,完成之后返回字符串
    return [data base64EncodedStringWithOptions:0];
}
- (NSString *)base64AcodeString:(NSString *)string
{
    // 注意:该字符串是base64编码后的字符串
    // 转换为二进制数据(完成了解码的过程)
    NSData *data = [[NSData alloc] initWithBase64EncodedString:string options:0];
    // 把二进制数据在转换为字符串
    return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
时间: 2024-10-09 12:08:15

了解加密相关的相关文章

ios开发Base64编码以及加密相关学习

一:.Base64补充 ```objc 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只用65个字符就能表示的文本文件. 65字符:A~Z a~z 0~9 + / = 对文件进行base64编码后文件数据的变化:编码后的数据~=编码前数据的4/3,会大1/3左右. 2.命令行进行Base64编码和解码 编码:base64 123.png -o 123.txt 解码:base64 123

MD5加密相关

demo效果 Md5类 其中有一个引用   using System.Security.Cryptography; using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace MD5加密 { public class MD5Fun {

加密相关

IKE(Internet Key Exchange):密钥交换 密钥交换,双方通过交换密钥来实现数据加密解密. 密钥交换的两种方式: 1.对称密钥加密: 将公钥加密后通过网路传输到对方进行解密,这种方式有很大可能被截取破解,所以不常用. 2.DH (Deffie-Hellman) : 双方共有一些参数,共同协商加密算法,除此之外双方还有属于自己的私有参数,通过共有的参数.私有参数和算法信息来进行加密. 然后双方将计算后的结果进行交换,交换完成后再后属于自己私有的参数进行特殊算法,经过双方计算后的

加密相关内容

md5加密(正常的md5,加盐,动态加盐) import hashlib md5 = hashlib.md5() md5.update(b'alex3714') print(md5.hexdigest()) 应用于密码的密文存储,文件的一致性校验 import hashlib md5 = hashlib.md5() md5.update(b'alex3714') ret = md5.hexdigest() md =hashlib.md5() md.update(b'alex') md.updat

加密类型及其相关算法

在互联网通信过程中,如何保证数据的安全性? 在通信过程中,数据安全主要从三个方面考虑:机密性(数据的内容不能被窃取) 完整性(数据的内容不能被修改) 身份验证(确定通信双方的身份) 加密类型:1.对称加密,加密和解密使用同一个密钥,但是密钥如何安全传输比较重要,对称加密数度较快,适于加密数据 2.单向加密,提取数据指纹,主要用于保证数据的完整性 单向加密的特点:输入相同则输出一定相同 雪崩效应:输入的微小改变会引起结果的巨大反差 定长输出 3.非对称加密,使用一对密钥(public-key和pr

python之路 正则表达式,模块导入的方法,hashlib加密

一.正则表达式re python中re模块提供了正则表达式相关操作 字符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 次数: * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 模式 描述 ^ 匹配字符串的开头 $ 匹配字符串的末尾. . 匹配任意字符,除了换行符,当re.DO

Des 对称加密算法 加密\解密实例

Des 加密相关类介绍: SecureRandom  这个类是继承自java.util.Random 这个类 SecureRandom 这个类的构造器有三种,下面例举两种: SecureRandom()构造一个实现默认随机数算法的安全随机数生成器 (RNG). SecureRandom(byte[] seed)构造一个实现默认随机数算法的安全随机数生成器 (RNG). DESKeySpec 这个类是用来使用原始秘钥来生成秘钥的秘钥内容 DESKeySpec 有两个构造函数: DESKeySpec

RSA加密:利用模数和指数生成公钥加密

引子    目前做一款金融产品,由于涉及到资金安全,采用动态公钥的方式,即客户端每次登录服务端返回一个不同的XML串,由公钥的模数和指数构成,我需要用这个串生成公钥加密相关信息.服务端返回的XML串形如:“<RSAKeyValue><Modulus>wVwBKuePO3ZZbZ//gqaNuUNyaPHbS3e2v5iDHMFRfYHS/bFw+79GwNUiJ+wXgpA7SSBRhKdLhTuxMvCn1aZNlXaMXIOPG1AouUMMfr6kEpFf/V0wLv6NCH

【WP开发】加密篇:双向加密

说起双向加密,如果以前在.NET开发中弄过加/解密的朋友都不会陌生,常用的算法有DES.AES等.在RT应用程序中,也提供了加密相关的API,算法自然是一样的,只是API的封装方式不同罢了,因为RT不完全是托管代码,而又类似于COM的形式公开,这对于低端设备来说,性能可以提升,当然了,对于高端设备来说无所谓. 在WP的RT应用中,涉及到加/解密的API都在以下几个命名空间里,大家要用的就在里面找,也不是所有类都会用得上,加密一般就用两大类:需要恢复内容时选用双向加密,如DES.AES等算法:如果