加密技术和支付密码
1.BASE64(编码)
Base64编码可用于在HTTP环境下传递较长的标识信息。
针对字母的ASCII码处理,3个字符共24bit,按照6bit分割得到4个分块,对分块再编码。6bit表示数字的范围为0~63,即将文本加密为64进制。
数值 | 字符 | 数值 | 字符 | 数值 | 字符 | 数值 | 字符 | |||
---|---|---|---|---|---|---|---|---|---|---|
0 | A | 16 | Q | 32 | g | 48 | w | |||
1 | B | 17 | R | 33 | h | 49 | x | |||
2 | C | 18 | S | 34 | i | 50 | y | |||
3 | D | 19 | T | 35 | j | 51 | z | |||
4 | E | 20 | U | 36 | k | 52 | 0 | |||
5 | F | 21 | V | 37 | l | 53 | 1 | |||
6 | G | 22 | W | 38 | m | 54 | 2 | |||
7 | H | 23 | X | 39 | n | 55 | 3 | |||
8 | I | 24 | Y | 40 | o | 56 | 4 | |||
9 | J | 25 | Z | 41 | p | 57 | 5 | |||
10 | K | 26 | a | 42 | q | 58 | 6 | |||
11 | L | 27 | b | 43 | r | 59 | 7 | |||
12 | M | 28 | c | 44 | s | 60 | 8 | |||
13 | N | 29 | d | 45 | t | 61 | 9 | |||
14 | O | 30 | e | 46 | u | 62 | + | |||
15 | P | 31 | f | 47 | v | 63 | / |
文本长度除3后,如果余数为1,补充4bit的0构成两个字符,再添加两个=号;如果余数为2,补充2bit的0构成三个字符,再添加一个=号。
2.URL Encoding(编码)
针对url中有中文的问题,提出的解决方案。
3.单向加密算法:最广泛应用的是Hash算法,Hash函数就是被设计为基于通过特定压缩函数的不断重复“压缩”输入的分组和前一次压缩处理的结果的过程,直到整个消息都被压缩完毕,最后的输出作为整个消息的散列值。
MD5 和 SHA1 可以说是目前应用最广泛的Hash算法,而它们都是以 MD4 为基础设计的。主要用于数字签名,信息完整性保护。http://www.cnblogs.com/houkai/p/3486667.html
双向对称、非对称算法:对称算法保密性高,解码速度快,加密密钥与解密密钥相同,著名密码算法DES;非对称算法速度慢,但是使用成对的密钥,加密解密使用不同的密钥,有利于保密和身份认定,一般用于加密DES类算法的密钥。http://www.cnblogs.com/houkai/p/3486684.html
4.支付密码
创建,首先生成盐,对随机字符串base64编码;然后Hash=哈希算法:迭代次数:盐:pbkdf2=加密fun(哈希算法,迭代次数,盐,密码,长度)。
验证,输入password和用户的Hash,首先由Hash得到哈希算法、迭代次数、盐,加上password计算pbkdf2,然后和Hash中真实的pbkdf2比较即可。
5.HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL。HTTPS和HTTP的区别
https协议需要到ca申请证书,一般免费证书很少,需要交费。http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
https的通信流程
SSL协议位于TCP/IP协议与各种应用层协议之间,是一种国际标准的加密及身份认证通信协议,为TCP提供一个可靠的端到端的安全服务,为两个通讯个体之间提供保密性和完整性(身份鉴别)。