java 加密问题! 希望给点思路(路过的进来看看在走哦!)

小小都不懂 2010-02-04 11:06:52
我做了一个swing 的小程序
现在想给它加密

在网上看了几个 我试着做了下如:

class MD5_Test{

public final static String MD5(String s){
char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd','e', 'f'};
try {

byte[] strTemp = s.getBytes();

MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(strTemp);

byte[] md = mdTemp.digest();

int j = md.length;

char str[] = new char[j * 2];

int k = 0;

for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}

return new String(str);
}
catch (Exception e){
return null;
}
}
public static void main(String[] args){

System.out.print(MD5_Test.MD5("123456"));

}
}




这样的加密 但是这也太容易让人破解了
还有 我想在加密过程中 把时间也加进去 (就是软件的使用期限)

不求最好的加密 只要适合的加密 希望大家帮帮忙,给点思路 给点代码 多少都行
...全文
172 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
小小都不懂 2010-02-09
  • 打赏
  • 举报
回复
谢谢大家帮忙 现在已经解决了
采用MD5 和BA64 一起加密 呵呵
lstc 2010-02-08
  • 打赏
  • 举报
回复
可以采用加密狗,直接对jar文件加密,设置软件的使用时间,还可以跨平台
QQ:476833461
luhui436 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 opentheoo 的回复:]
那我再问下 

如果给软件一个使用期限

用什么加密方法好呢?
[/Quote]

这个可以用javax.crypto.spec.DESKeySpec;我现在做的一个东西也是要加使用期限,就是用的
javax.crypto.spec.DESKeySpec
代码如下:
public final static String encrypt(String password) {

try {

return byte2hex(encrypt(password.getBytes(), PASSWORD_CRYPT_KEY
.getBytes()));
} catch (Exception e) {

}

return null;

}

/**
*
* 二行制转字符串

*
* @param b
*
* @return
*/

public static String byte2hex(byte[] b) {

String hs = "";

String stmp = "";

for (int n = 0; n < b.length; n++) {

stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));

if (stmp.length() == 1)

hs = hs + "0" + stmp;

else

hs = hs + stmp;

}

return hs.toUpperCase();

}
lzlwzs04 2010-02-05
  • 打赏
  • 举报
回复
回头过来看看,这个比较感兴趣
往何 2010-02-05
  • 打赏
  • 举报
回复
路过,帮顶!
hchjjun 2010-02-05
  • 打赏
  • 举报
回复
md5不是挺好吗
深山老叔 2010-02-05
  • 打赏
  • 举报
回复
软件使用期限,本地的话,你可以把时间按照自己加密的方式存入数据库,当然如果没用到数据库就文件吧
rascalboy520 2010-02-04
  • 打赏
  • 举报
回复
有一个加密KEY
再有一个加密算法
一般的应用是不会被别人破解的
zhangwenmin 2010-02-04
  • 打赏
  • 举报
回复
用过MD5,大不了在后面加个日期上去先把日期转换一下
小小都不懂 2010-02-04
  • 打赏
  • 举报
回复
就没人进来吗?

进来了留点什么也好呀!!!
哎。。。。。。。。。
sohighthesky 2010-02-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 opentheoo 的回复:]
那我再问下 

如果给软件一个使用期限

用什么加密方法好呢?
[/Quote]
比较webservice的时间


?:java 是什么东东
我也不知道java是什么东东
SambaGao 2010-02-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 opentheoo 的回复:]
那我再问下 

如果给软件一个使用期限

用什么加密方法好呢?
[/Quote]
1.
使用期限可以根据本地的时间来判断。
2.
远程控制。
不知道还有什么好的办法。
小小都不懂 2010-02-04
  • 打赏
  • 举报
回复
那我再问下

如果给软件一个使用期限

用什么加密方法好呢?
Frank_L 2010-02-04
  • 打赏
  • 举报
回复
关注
墨水鱼 2010-02-04
  • 打赏
  • 举报
回复
这个……MD5纯理论的才有破解。
实际上,长一些密码、复杂些东西,破解不了的。如果怕MD5太通用,可以用SHA512
这些都是不可逆的算法。
小小都不懂 2010-02-04
  • 打赏
  • 举报
回复
还有没有别的思路了

来点人气呀 哎。。。。。。。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧