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

encode && decode && 加密 &&解密的更多相关文章

  1. mysql encode decode加密和解密

    加密:模板:insert into user(userpass) values(encode('useerpass','str')) insert into user(userid,username, ...

  2. [PHP]加密解密函数

    非常给力的authcode加密函数,Discuz!经典代码(带详解) function authcode($string, $operation = 'DECODE', $key = '', $exp ...

  3. Python下RSA加密/解密, 签名/验证

    原文是py2环境,而我的环境是py3,所以对原代码做了修改:decode(), encode() import rsa # 生成密钥 (pubkey, privkey) = rsa.newkeys(1 ...

  4. .NET/android/java/iOS AES通用加密解密(修正安卓)

    移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如.NET和android或者iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输.今天研究了一下,把几种语言的加密都 ...

  5. java加密-解密小结

    加密算法可以分为 双向加密(对称加密.不对称加密) 单向加密(不可逆加密)—— MD5.sha.hmac... 在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密 有: ...

  6. JS实现base64加密解密

    JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...

  7. php字符串常用算法--字符串加密解密

    /** * 加密.解密字符串 * * @global string $db_hash * @global array $pwServer * @param $string 待处理字符串 * @para ...

  8. Android RSA加密解密

    概述 RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困 难,因此可以将乘积公开作为加密密钥,即公钥,而两个大素数 ...

  9. 实现Base64加密解密

    using System; using System.Text;   namespace Common { /// <summary> /// 实现Base64加密解密 /// </ ...

随机推荐

  1. Windows群集之NLB【转】

    本文转自:http://www.talkwithtrend.com/Article/31746 网络负载平衡群集(Network Load balancing) 在Internet快速发展的今天,为了 ...

  2. JS原型的动态性

    由于在原型中查找成员的过程是一次搜索,所以我们对原型对象所做的任何修改都能立即从实例上反映出来(但不包括对原型对象的重写,下面会介绍到),即使是对原型的修改操作在创建实例之后.如下面的示例所示: fu ...

  3. centos系统基本操作命令

    系统相关命令 查看系统版本: cat  /etc/centos-release 系统更新: yum  update 用户相关命令 增加用户: useradd  [用户名] 设置密码:password  ...

  4. 踩坑记录-连接 MongoDB Compass Community 报错

    在控制台输入 mongod 启动 mongodb服务,地址栏输入http://localhost:27017/ 能看到下图,表示服务启动成功. 打开"MongoDB Compass Comm ...

  5. 3、java基础:抽象类与接口的区别

    抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样 ...

  6. Oracle11g数据库导入Oracle10g操作成功

    转自:https://wenku.baidu.com/view/1b652b57f7ec4afe04a1dfb8.html

  7. Oracle学习笔记——Linux下开启Oracle

    1.开启数据库 sqlplus  /  as sysdba startup 2.启动监听:lsnrctl  start; 查看监听状态:lsnrctl status; 3.登入数据库 Linux 设置 ...

  8. Linux命令——diff、patch

    简介 diff以行为单位比较不同ASCII文件差异,可以输出一组指令,用于指导如何更改一个文件使其与第二个文件相同.diff在软件开发时多用于比较新旧版本代码,和patch连用可以将文件间区别做成补丁 ...

  9. Linux系统管理——用户、组

    单用户OS和多用户OS? Linux是多用户OS,Windows是单用户OS.很多人会疑惑? Windows7也可以创建多个用户啊,怎么能说是单用户OS呢? 这里的多用户指的是OS同时可以被多个人访问 ...

  10. Python多线程应用于自动化测试

    Python多线程应用于自动化测试 将多线程在测试巧妙地应用,确实会带来很多好处,并且这是充分利用机器资源执行高效率测试很好的方式 # -*- coding: utf-8 -*- import thr ...