Skip to content
Encrypt and decrypt your password(or other text as you want) with javascript . 通过javascript 加解密密码(或其它文本)
HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
README.md
index.html

README.md

passstore

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之类的原因。

demo: http://tool.too2.net/jspw/

You can’t perform that action at this time.