十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这个需要你会file的操作,将接收的username和password写入user.Txt文件中即可。
淳安网站建设公司创新互联,淳安网站设计制作,有大型网站制作公司丰富经验。已为淳安上1000家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的淳安做网站的公司定做!
首先你的程序要有一个文件记录程序安装时间,或者使用服务器记录客户端安装程序时间;
其次,你的程序需要加入密钥验证的功能,在启动程序时,验证程序是否密钥是否正确,密钥存在客户端文件中或者服务器中,验证通过则以正式版运行程序,不通过则以试用版运行程序并验证是否在有效的试用期内
帮你完善了下代码。
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Reader;
import java.util.Map;
public class Test {
static String publicKey;
static String privateKey;
public Test() throws Exception {
// TODO Auto-generated constructor stub
MapString, Object keyMap = RSAUtils.genKeyPair();
publicKey = RSAUtils.getPublicKey(keyMap);
privateKey = RSAUtils.getPrivateKey(keyMap);
// 保存密钥,名字分别为publicKey。txt 和privateKey。txt;
PrintWriter pw1 = new PrintWriter(new FileOutputStream(
"D:/publicKey.txt"));
PrintWriter pw2 = new PrintWriter(new FileOutputStream(
"D:/privateKey.txt"));
pw1.print(publicKey);
pw2.print(privateKey);
pw1.close();
pw2.close();
// 从保存的目录读取刚才的保存的公钥,
String pubkey = readFile("D:/publicKey.txt");// 读取的公钥内容;
String data = readFile("D:/1.txt"); // 需要公钥加密的文件的内容(如D:/1.txt)
byte[] encByPubKeyData = RSAUtils.encryptByPublicKey(data.getBytes(),
pubkey);
//将加密数据base64后写入文件
writeFile("D:/Encfile.txt", Base64Utils.encode(encByPubKeyData).getBytes("UTF-8"));
// 加密后的文件保存在
String prikey = readFile("D:/privateKey.txt");// 从保存的目录读取刚才的保存的私钥,
String Encdata = readFile("D:/Encfile.txt");// 刚才加密的文件的内容;
byte[] encData = Base64Utils.decode(Encdata);
byte[] decByPriKeyData = RSAUtils.decryptByPrivateKey(encData, prikey);
// 解密后后的文件保存在D:/Decfile.txt
writeFile("D:/Decfile.txt", decByPriKeyData);
}
private static String readFile(String filePath) throws Exception {
File inFile = new File(filePath);
long fileLen = inFile.length();
Reader reader = new FileReader(inFile);
char[] content = new char[(int) fileLen];
reader.read(content);
System.out.println("读取到的内容为:" + new String(content));
return new String(content);
}
private static void writeFile(String filePath, byte[] content)
throws Exception {
System.out.println("待写入文件的内容为:" + new String(content));
File outFile = new File(filePath);
OutputStream out = new FileOutputStream(outFile);
out.write(content);
if (out != null) out.close();
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
new Test();
}
}
测试结果:
读取到的内容为:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVr9D9hYPD4kS5k86dRm+utyt5XGOSTPwT0YeoBnQmgeISkNsbtUFkY6txyodVl26IM1H5iwJ1jMQ63+lXfZxzNpeA+rHaxmeQ2qI+5ES9AF7G6KIwjzakKsA08Ly+1y3dp0BnoyHF7/Pj3AS28fDmE5piea7w36vp4E3Ts+F9vwIDAQAB
读取到的内容为:锘县ahaha
1、 用Vector保存并序列化存储到文件
2、 键值对的形式写入property文件
3、 存数据库
【实例下载】本文介绍RSA2加密与解密,RSA2是RSA的加强版本,在密钥长度上采用2048, RSA2比RSA更安全,更可靠, 本人的另一篇文章RSA已经发表,有想了解的可以点开下面的RSA文章