ASCII & URL 转码 & Base64编码

汉字
ASCII \u6211 \u7231 \u4f60
Unicode
UTF-8
Hex编码 %e6%88%91 %e7%88%b1 %e4%bd%a0
UrlEncode %E6%88%91 %E7%88%B1 %E4%BD%A0
Base64 5oiR 54ix 5L2g
汉字 我爱你 秘钥 长度
MD5 4F2016C6B934D55BD7120E5D0E62CCE3 32
SHA1 5890a73fed38bf09622c34ad9391f1d09c0ec100 40
SHA256 c0ad5411b19cfcba9d674d21411a970159f6ae4e180831ddd6a91797be547752 64
SHA512 5b0753c33ba23fe2fe9e529afd6b97c3d8480bf17c1a4baea42dadc2504d1c57
fa4dc8afd51f79ae6fad719c611aa5749ab0b2b2edebdad661da78cc3759cbf0
128
HMAC-MD5 6e3bdd2ed42e76bcf6290dbbb90b6573 1314 32
HMAC-SHA1 20b81f85289f6bbc74c3538f47585a6827d61f3e 1314 40
以下为可解密,长度不定
DES U2FsdGVkX1/FAzn+YH6RqXS5moOMRJXvFgHhcdAbOnA= 1314 至少32
3DES U2FsdGVkX19emizRkOUAyraZsZdrm3FRqa6FRpnjy1Q= 1314 至少32
AES U2FsdGVkX186D0e/PlXrEjXmKyYz7zCdP4XfrH7p0iA= 1314 至少44
RSA k2EXiHp3G3Z6J3GCz4O2n9QD1qxnKhLXvZuaSnkzy6zlql22B5
Ke7KtN0jC6ajT0xV74p99gDE9ELTLWMaJRPSIbgT61is6NgJgj
c4fd8PD2gpGD4aCMueudxxon6y+fa8bxTwUi78zqUzdYQW/49W
RQTtN54nzylLwH5hVrUoE=
公钥/私钥 至少172
  • 单向散列函数/哈希: MD5|SHA1|SHA256|SHA512
  • 消息认证码: HMAC-MD5|HMAC-SHA1
  • 对称加密 DES|3DES|AES(高级加密标准)
  • 非对称加密 RSA
  • 数字签名
  • 证书

对称加密DES|3DES|AES配置

加密模式 填充 密码(key) 偏移量 输出 字符集
ECB
Electronic CodeBook
pkcs5padding base64 gb2312编码(简体)
CBC
Cipher Block Chainning
pkcs7padding hex gbk编码(简繁体)
CTR zeropadding gb18030编码(中日韩)
OFB iso10126 utf8编码(Unicode编码)
CFB ansix923 iso-8859-1(单字节)
no padding

非对称加密公钥私钥对

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrXqKMT3OUy3HipMD2rEp5Zzvd
hh+wF8qirxRPuLDi32xvlCAGXvlhDX0hbK8Dy4ODqTI8Tpm0GW3lHwOMWAe/45Ms
rcpi0Ej4YPkoHPBJyIITkPQsISb+Dtido0unEzhCF8ii/jxKEoUa4OCSjucucFJp
sCzEUeBTu49m16DXZQIDAQAB
-----END PUBLIC KEY-----

-----BEGIN PRIVATE KEY-----
MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAKteooxPc5TLceKk
wPasSnlnO92GH7AXyqKvFE+4sOLfbG+UIAZe+WENfSFsrwPLg4OpMjxOmbQZbeUf
A4xYB7/jkyytymLQSPhg+Sgc8EnIghOQ9CwhJv4O2J2jS6cTOEIXyKL+PEoShRrg
4JKO5y5wUmmwLMRR4FO7j2bXoNdlAgMBAAECgYBdz3xkGspG1egODeqkHkTWmLCo
39dQ6nU/AWC5E32hdHVDz26Ijk0t19h8B6b3CN2BoYmigdSaRqFmH8gtd7MlbpzZ
53WmeGcOc2AexYBxAWVFyMaY2kfnrY9z1Zv2n/xclCnlMViGm95K8+IIEKv0AayD
IiNTY8yDDNuYGLDksQJBAN2KHLcXAQvGTvyjZd9J8V/ROI1Jkqy4BNhaOguHb3/U
m4xFj4ZyXTJ24MhYDiRW2Zw/YYHC+0Yxg87QkSRT3JsCQQDGBrfZlxxdkwZd7E51
tqAYYkEuyrLLZdq3/5eXFThC2Uy+5l3bE6bMyGQm/1dT9TJWT633n0N4xiPNW6ug
V1v/AkEAnPDJdN7kC85ZiFnMwkjkqKdTs6uKL7dRH1+TvTUdxOX9p3pjua/s2+Ih
TWwr4IxyLmEsFzvkvA45vNo96AlMvwJBAJqHx5SPLV2ATCmjLB8D4q7kjcU7/IZo
92M6m0sVDhBsjk0ya+93yGRpxG4COF2WLC/aggGIURjAVlP8w1OemHUCQQCEgtVF
NiBj65iyqtrh9+tZpqmZFiSZvYOuRXDmAwZfBNUaab4MzAqPcKJGj/+sRo+ZnNFx
NIbOsUfM7C0N/75z
-----END PRIVATE KEY-----

我爱你

k2EXiHp3G3Z6J3GCz4O2n9QD1qxnKhLXvZuaSnkzy6zlql22B5Ke7KtN0jC6ajT0xV74p99gDE9ELTLWMaJRPSIbgT61is6NgJgjc4fd8PD2gpGD4aCMueudxxon6y+fa8bxTwUi78zqUzdYQW/49WRQTtN54nzylLwH5hVrUoE=


公钥加密  私钥解密  密钥有密码的要输入密码


站长之家
TTMD5
MeTools
Tool

编码是信息从一种形式或格式转换为另一种形式的过程。解码,是编码的逆过程。

ASCII

image.png
ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)
是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。
它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。
ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符
常见ASCII码的大小规则:0~9

汉字编码

字符编码
计算机中汉字的表示也是用二进制编码,同样是人为编码的。根据应用目的的不同,汉字编码分为外码、交换码、机内码和字形码。

目前的文字编码标准主要有 ASCII、GB2312、GBK、Unicode等。
ASCII 编码是最简单的西文编码方案。
GB2312、GBK、GB18030 是汉字字符编码方案的国家标准。
ISO/IEC 10646 和 Unicode 都是全球字符编码的国际标准。
image.png
GB2312-80 标准
《信息交换用汉字编码字符集》
https://baike.baidu.com/item/GB2312
GB2312-80 是 1980 年制定的中国汉字编码国家标准。共收录 7445 个字符,其中汉字 6763 个。

GBK 编码标准
《汉字内码扩展规范》(GBK) 于1995年制定,
兼容GB2312、GB13000-1、BIG5 编码中的所有汉字,
使用双字节编码,编码空间为 0x8140~0xFEFE,共有 23940 个码位,
其中 GBK1 区和 GBK2 区也是 GB2312 的编码范围。
收录了 21003 个汉字。


GB18030编码标准
GB18030-2005《信息技术中文编码字符集》
是我国制订的以汉字为主并包含多种我国少数民族文字(如藏、蒙古、傣、彝、朝鲜、维吾尔文等)的超大型中文编码字符集强制性标准,
其中收入汉字70000余个。
Unicode
https://baike.baidu.com/item/Unicode

Unicode是一种在计算机上使用的字符编码。
它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求 。
Unicode 标准始终使用十六进制数字,而且在书写时在前面加上前缀“U+”,
例如字母“A”的编码为 004116 和字符“?”的编码为 20AC16。所以“A”的编码书写为“U+0041”。


UTF-8 编码
UTF-8是Unicode的其中一个使用方式。 UTF是 Unicode Tranformation Format,即把Unicode转做某种格式的意思。
image.png

URL编码

字符-->ASCII-->%(十六进制编码)
url编码就是一个字符ascii码的十六进制

URLEncoder是将ASCII码集之外的转换为%加上相应的16进制,而ASCII码集内的字符不进行处理

url编码是一种浏览器用来打包表单输入的格式。
浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。
不管哪种情况,在服务器端的表单输入格式样子象这样:
theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes


URL编码遵循下列规则: 每对name/value由&;符分开;每对来自表单的name/value由=符分开。
如果用户没有输入值给这个name,那么这个name还是出现,只是无值。
任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,
当然也包括象 =,&;,和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。
不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。



Base64编码

    描述:Base64可以成为密码学的基石,非常重要。
    特点:可以将任意的二进制数据进行Base64编码
    结果:所有的数据都能被编码为并只用65个字符就能表示的文本文件。
    65字符:A~Z a~z 0~9 + / =
    对文件进行base64编码后文件数据的变化:编码后的数据~=编码前数据的4/3,会大1/3左右。

Base64编码原理
    1)将所有字符转化为ASCII码;
    2)将ASCII码转化为8位二进制;
    3)将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位;
    4)统一在6位二进制前补两个0凑足8位;
    5)将补0后的二进制转为十进制;
    6)从Base64编码表获取十进制对应的Base64编码;
处理过程说明:
    a.转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。
    b.数据不足3byte的话,于缓冲区中剩下的bit用0补足。然后,每次取出6个bit,按照其值选择查表选择对应的字符作为编码后的输出。
    c.不断进行,直到全部输入数据转换完成。
    d.如果最后剩下两个输入数据,在编码结果后加1个“=”;
    e.如果最后剩下一个输入数据,编码结果后加2个“=”;
    f.如果没有剩下任何数据,就什么都不要加,这样才可以保证资料还原的正确性。

你可能感兴趣的:(ASCII & URL 转码 & Base64编码)