Encrypt and decrypt your password(or other text as you want) with javascript . 通过javascript 加解密密码(或其它文本)
注册的网站越来越多,而各网站的安全性参差不齐,如果注册时采用一样的用户名密码,只要一个网站的密码数据库泄露,通过撞库就可以登陆我们在其它网站的账号。而如果采用不同的密码,则密码过多难以记住。如果放在云笔记之类的软件上自动同步,又担心泄露。如果将密码明文记录在电脑上,又不方便在其它电脑上找(而且明文放着也容易泄露)。
于是,本脚本的作用就是解决以上的问题。有两种用法:
1.如果没有自己的服务器,将脚本存放在本地,可用于将密码加密存放,并在需要时解密。(加密后的密码可安心通过云笔记等软件同步,不用担心泄露)
2.如果有自己的服务器,可将加密的密码放在服务器上,打开服务器页面时自动下载加密过的密码到本地,再在本地进行解密。
原理:采用异或来做加解密:
例如:
1^3=2 (1和3转成二进制即为01和11,异或结果为10。再把10转成十进制即为2。)
而2^1=3
实际上:A^B=C,那么C^B=A
根据这个原理我们将字符和数字转换成ascii码来进行异或运算。其中B作为加解密的密钥,A为未加密的字符串(明文密码),C为加密后的字符串(密文密码)。
这样,只要记住一个密钥B就可以用来加密自己所有的密码。前面提到的两种用法,都只在本地解密时显示明文,而在存储或网络传输时都采用密文,确保了安全。
比如我在三个不同的网站上的密码为别为1234、5678、9012,我只要记住一个密钥(比如abcd),用脚本加密后的密文密码为:UVWP、QRS\、]TUV
这样,就可以只记住一个密钥,而在注册不同网站时使用不同的密码,防止撞库攻击。
网站1 UVWP ^ abcd -> 1234
网站2 QRS\ ^ abcd -> 5678
网站3 ]TUV ^ abcd -> 9012
以上的网站地址和密文密码可以存储和传输,不怕泄露,而需要明文时只在本地浏览器上解密,不对外传输。这也是为什么用javascript加解密,而不是php之类的原因。