在互联网在现在这个时代,,我们注册了很多帐户。支付宝账号password,各种宝账户password。微信,QQ,电话password,购买各种网站,金融password,它是不是让孩子们的鞋子瞬间淡淡的感觉

许多,即使是爱因斯坦的大脑,.

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWdvNTIwMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">      

    

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWdvNTIwMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

等等等等。

。。

是不是有点晕了

今天呢,小编就带来了一个福利给大家。让大家轻松的管理自己的网络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

轻松管理您的网络password的更多相关文章

  1. 用SNMP实现对大型网络的轻松管理!

     原文来自:http://guojiping.blog.51cto.com/5635432/985885 一.原理介绍: SNMP简介   目前网络中用得最广泛的网络管理协议是SNMP(Simple ...

  2. TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端

    目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...

  3. 【转】TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端

    [转]TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端).UDP客户端 目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP ...

  4. CentOS 6.9下的Setup工具(用于管理服务/防火墙/网络配置/验证服务)

    说明:Setup工具套件好像是CentOS下特有的用于管理服务/防火墙/网络配置等,其实就是基于命令行模式界面的GUI工具.唯一特点就是方便. 安装: #安装Setup命令工具 yum -y inst ...

  5. owner:轻松管理java项目配置

    前段时间,一同事说在 github 上“活捉了”一个很有趣的开源项目,它是一个超轻量级的 jar 包,能够帮助你在 java 项目中摒弃样板式的 properties 配置代码,让你轻松自如地管理和使 ...

  6. Linux任务调度命令(轻松管理Linux)

    Linux任务调度其实就是让系统在某个时间执行某些命令或者程序,这样可以让管理员更加轻松地管理自己的Linux,当我刚了解到这个方法时,我的内心充满了无尽的欣喜,感觉Linux实在是太强大了. 下面我 ...

  7. C# 中的内存管理,摘自网络

    C#编程的一个优点是程序员不需要关心具体的内存管理,尤其是垃圾收集器会处理所有的内存清理工作.虽然不必手工管理内存,但如果要编写高质量的代码,还是要理解后台发生的事情,理解C#的内存管理.本文主要介绍 ...

  8. 网络操作系统 第七章 管理TCP/IP网络

    本章小结 本章介绍了TCP/IP的相关概念,并且在此处基础上,介绍了Windows Server 2008中使用TCP/IP网络配置工具实现网络连接和管理的方法,在Linux系统中,讲解了是如何使用图 ...

  9. 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机

    Azure 虚拟机使用 Azure 网络进行内部和外部网络通信. 本教程介绍了如何在虚拟网络中创建多个虚拟机 (VM),以及如何在虚拟机之间配置网络连接. 你将学习如何执行以下操作: 创建虚拟网络 创 ...

随机推荐

  1. Cocos2d-x layout (二)

    相对某个控件进行布局 Size widgetSize = Director::getInstance()->getWinSize(); Text* alert = Text::create(&q ...

  2. mxGraph改变图形大小重置overlay位置

    要在改变图形大小的时候改变overlay的位置.那肯定就要对重置图形大小的方法进行改造了.以下是源文件里的代码 mxGraph.prototype.resizeCells = function(cel ...

  3. C++著名类库和C++标准库介绍

    C++著名类库 1.C++各大有名库的介绍——C++标准库 2.C++各大有名库的介绍——准标准库Boost 3.C++各大有名库的介绍——GUI 4.C++各大有名库的介绍——网络通信 5.C++各 ...

  4. MFC TCHAR 和CHAR相互转换

    没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时候包含了UNICODE定义,就必须对TCHAR和char进行转换. 首先是把TCHAR转为char / ...

  5. Android中使用SurfaceView和Canvas来绘制动画

    事实上每一个View中都有Canvas能够用来绘制动画.仅仅须要在这个View中重载onDraw()方法就能够,可是SurfaceView类是一个专门用来制动动画的类. Canvas(中文叫做&quo ...

  6. django-admin.py失效的问题合集!

    今早在命令行运行django-admin.py突然失效了.联想到昨天把Python的版本号由3.4降为2.7,Django由1.65降为1.5,能够是由于当中的修改造成的问题.网上搜了一下解决方式五花 ...

  7. Storyboard 经常用法总结-精华版

    1.prepareForSegue: Now we know what the destinationViewController is we can set its data properties. ...

  8. HashTable的数组和连接两种实现方法(Java版本号)

    1.散列表的接口类 package cn.usst.hashtable; /** * 散列表的接口类 * @author G-Xia * */ public interface HashTable { ...

  9. 做外贸,独立B2C商城好,还是平台好

    随着跨境电商热的来临,越来越多的国内企业选择进军跨国电商,那么企业要想进军以互联网跨国销售,通常会通过两种途径,一种是建立独立运营的B2C商城,还有一种是依托alibaba,dhgate,aliexp ...

  10. hdu3829(最大独立集)

    传送门:Cat VS Dog 题意:动物园有N只猫,M只狗,P个小孩.每个小孩都有自己喜欢的动物和讨厌的动物,如果他喜欢狗,那么就讨厌猫, 如果他讨厌狗,那么他就喜欢猫.某个小孩能开心,当且仅当他喜欢 ...