天天看点

密码学系列——异或加密

继续更新本系列,介绍常用的异或加密。

异或加密的原理非常简单。

原理:

就是1和1那么得到的结果是0,0和0得到的结果是0,只有1和0或者0和1得到的结果才是1,所以叫做异或。

很多时候我们不希望我们请求的时候进行明文显示,而又不能像密码一样完全是不可逆加密,有些是需要双向的对称加密的。

但是很多对称加密效率还是低了点。有时候我们有些数据可能只需要简单的加密处理,数据没那么重要,那么如何处理呢?这时候就可以用上这个。

看下:

上面做的就是异或加密,只是在正式环境中不要这样写,不规范,怎么说呢,比如说x应该是传入的没有的话再做默认值,如果x的值小于text的话,那么应该抛出异常。。。。好吧这不是重点。

在js中,利用charcodeat获取到charcode,然后就可以进行异或加密了,那么后台如何写呢?

只要拿到数字后再进行一次异或就好。

原理很简单,比如说我们的明文是1,那么和一个1,或者之后得到是0。如果得到是0,那么我再次异或一次后,那么就是0和1进行异或,得到就是1了。

上述只供原理参考,因为如果是httpget 请求的话,那么要再次进行base64加密,否则浏览器自己会对一些特殊字符转义。

如果是一些需要快速加解密且没有什么大的信息安全可以使用异或加密。

该系列未结,续。