encode && decode && 加密 &&解密

1.urlencode

当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的(除了 -_.)

string urlencode ( string $str )
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)

urleocode只是为了url中一些非ascii字符,可以正确无误的被传输,至于使用哪种编码,就不是encode所关心和解决的问题了。编码问题,不是urlencode所要解决的。


2.base64编码

可加密可解密


明文(plaintext):加密之前的原始数据

密文(ciphertext):通过密码运算后得到的结果成为密文

密码(cipher):密码算法

密钥:

对称加密:为共享密钥加密,对称密钥在加密和解密的过程中使用的密钥是相同的,DES、3DES、AES、RC5、RC6。

非对称加密:

    公开密钥加密,RSA,服务端会生成一对密钥,一个私钥保存在服务端,仅自己知道,另一个是公钥,公钥可以自由发布供任何人使用。客户端的明文通过公钥加密后的密文需要用私钥解密。
    1.服务端生成配对的公钥和私钥
    2.私钥保存在服务端,公钥发送给客户端
    3.客户端使用公钥加密明文传输给服务端
    4.服务端使用私钥解密密文得到明文

摘要:

数字签名:

    验证传输的内容是不是真实服务器发送的数据,发送的数据有没有被篡改过
    是非对称加密的一种应用场景,反过来用私钥来加密,通过与之配对的公钥来解密。

数字证书:

 参考网址:http://blog.csdn.net/Exaggeration08/article/details/76690587

原文地址:https://www.cnblogs.com/mogujiang/p/8110666.html