在互联网在现在这个时代,,我们注册了很多帐户。支付宝账号password,各种宝账户password。微信,QQ,电话password,购买各种网站,金融password,它是不是让孩子们的鞋子瞬间淡淡的感觉
许多,即使是爱因斯坦的大脑,.
等等等等。
。。
是不是有点晕了
今天呢,小编就带来了一个福利给大家。让大家轻松的管理自己的网络password。既轻松又安全。小编也是程序开发出身。做程序最关心的当然是安全问题了,而账号password可能涉及到金融,票据。社交等各方面的信息,所以我决定自己写一个加密程序供大家使用。
说到加密解密。我们可能想到黑客,然后又想到斯诺登,事实上作为一款自己使用的加解密程序,没有那么复杂,也没有那么easy破解.
以下我们看看须要满足以下几点需求:
1. 便于存储,备份
2. 账号password不能被其它人看见
3. 仅仅有自己才干查看password
谈到以上几点要求,第一条和第二条最好存储在本机。然后以文件的形式存储,这样既安全,加密后的字符对别人来说毫无意义
第三条要通过一个口令才干查看到加密的文件,也就是解密文件了.
好,依照上面几条。小编就開始写程序了:
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); } }
小编就是用这个程序来备份自己的账号password的,大家能够试试哦
在加密的时候我们须要定义一个口令 char secret 这个字段,我的口令是”A”,当然大家能够设置一个复杂的口令,在解密的时候仅仅有通过这个口令才干够解密的,不然无法解密。
看一下 加解密的详细过程:
加密的时候:
我先设定了一个口令secret 是‘A’
然后对待加密的原文 “小张网校网址:www.xiaozhangwx.com”取出byte字节与 secret 做异或运算算法加密
加密后生成的加密字符串为:
加密后的字符串为:戉攧尮戔尮楒{666o9(.;) /&69o".,
这个全然是乱码,别人获取了这个毫无意义
于是我们就将 “戉攧尮戔尮楒{666o9(.;) /&69o".,”存储为txt文件以作为备份
等下次我们须要查看password的时候。我们仅仅须要记住口令 secret ‘A’就能够用法encryptAndDecrypt() 进行解密就会看到原文账号password。
这种话。是不是达到了 既安全又轻松的管理了我们的网络password呢
假设大家编码能力强的话,全然能够继续改进这个程序。使用GUI来编写。开发一个更友好的界面能够给亲朋好友们帮忙管理自己的password.
Gerry
文章转自于小张网校博客
http://www.xiaozhangwx.com/blog/archives/67