标签:
在如今这个互联网的时代里,我们注册了太多的账号,支付宝账号密码,各种宝的账号密码,微信,QQ,手机密码,各种网站的购票,金融密码,是不是让童鞋们瞬间感觉晕了
不少,就算是爱因斯坦的大脑,记起来也比较费劲吧.
等等等等。。。
是不是有点晕了
今天呢,小编就带来了一个福利给大家,让大家轻松的管理自己的网络密码,既轻松又安全,小编也是程序开发出身,做程序最关心的当然是安全问题了,而账号密码可能涉及到金融,票据,社交等各方面的信息,所以我决定自己写一个加密程序供大家使用。
说到加密解密,我们可能想到黑客,然后又想到斯诺登,其实作为一款自己使用的加解密程序,没有那么复杂,也没有那么容易破解.
下面我们看看需要满足以下几点需求:
1. 便于存储,备份
2. 账号密码不能被其他人看见
3. 只有自己才能查看密码
谈到以上几点要求,第一条和第二条最好存储在本机,然后以文件的形式存储,这样既安全,加密后的字符对别人来说毫无意义
第三条要通过一个口令才能查看到加密的文件,也就是解密文件了.
好,按照上面几条,小编就开始敲代码了:
StringEncryptDemo.java
//字符串加密 public class StringEncryptDemo { //加密解密逻辑 public static String encryptAndDecrypt(String raw, char secret){ byte[] bt = raw.getBytes(); //用for循环对每个byte进行异或运算 for(int i=0;i<bt.length;i++){ bt[i] = (byte)(bt[i] ^ (int)secret); } return new String(bt,0,bt.length); } public static void main(String[] args) { String raw = "小张网校网址:www.xiaozhangwx.com"; char secret = 'A'; System.out.println("原始字符串为:"+raw); String encrypt = encryptAndDecrypt(raw,secret); System.out.println("加密后的字符串为:"+encrypt); String decrypt = encryptAndDecrypt(encrypt,secret); System.out.println("解密后的字符串为:"+decrypt); } }
小编就是用这个程序来备份自己的账号密码的,大家可以试试哦
在加密的时候我们需要定义一个口令 char secret 这个字段,我的口令是”A”,当然大家可以设置一个复杂的口令,在解密的时候只有通过这个口令才可以解密的,不然无法解密。
看一下 加解密的具体过程:
加密的时候:
我先设定了一个口令secret 是‘A’
然后对待加密的原文 “小张网校网址:www.xiaozhangwx.com”取出byte字节与 secret 做异或运算算法加密
加密后生成的加密字符串为:
加密后的字符串为:戉攧尮戔尮楒{666o9(.;) /&69o".,
这个完全是乱码,别人获取了这个毫无意义
于是我们就将 “戉攧尮戔尮楒{666o9(.;) /&69o".,”存储为txt文件以作为备份
等下次我们需要查看密码的时候,我们只需要记住口令 secret ‘A’就可以使用方法encryptAndDecrypt() 进行解密就会看到原文账号密码。
这样的话,是不是达到了 既安全又轻松的管理了我们的网络密码呢
如果大家编码能力强的话,完全可以继续改进这个程序,使用GUI来编写,开发一个更友好的界面可以给亲朋好友们帮忙管理自己的密码.
Gerry
标签:
原文地址:http://blog.csdn.net/ago52030/article/details/46457379