资源简介
基于JAVA的口令的身份认证系统,连接mysql,制作较为简单采用了swing编程,虽然连接数据库的类没封装下载者想改请自行封装。制作者为学生已上交过大作业,发出来供大家参考借鉴。具体内容就是输入密码随机加盐之后转换成字符串存入数据库中。到时候验证就采用同样的操作测试字符串是否一样。具体如何自己下载观摩。有疑问可以加我qq有空就会回答你的一些疑问。--1254891048,(作者还有一份MFC连接SQL的工程如有需要的话),请大家好好学习,切勿完全照搬。谢谢配合。

代码片段和文件信息
package algorithm;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.Random;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
public class Agen {
public static String Agent(String DpwString Dsalt ) throws Exception {
String K;
K=Asalt(DsaltDpw);
String Dp=“00000000“;
String Dc=null;
for(int i=0;i<25;i++)
{
Dc=des(DpK);
Dp=null;
Dp=Dc;
Dc=null;
}
String s=binary(Dp.getBytes());
Dc=s.substring(0 64);
s=Agen.Atrans(Dc);
return s;
}
public static String Asalt(String DsaltString Dpw)
{
//给Dpw撒盐
String DtempDhash;
Dtemp=Dpw+Dsalt;
//Ahash 算法(md5)
Dhash=MD5(Dtemp);
return Dhash;
}
public static String Arandom()
{
Random rand =new Random();
int r;
r=rand.nextInt(2088);
String Dsalt=String.valueOf(r);
return Dsalt;
}
public static String Atrans(String Dc)
{
char str[]={‘.‘‘/‘‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘‘A‘‘B‘
‘C‘‘D‘‘E‘‘F‘‘G‘‘H‘‘I‘‘J‘‘K‘‘L‘‘M‘‘N‘‘O‘‘P‘‘Q‘‘R‘‘S‘‘T‘
‘U‘‘V‘‘W‘‘X‘‘Y‘‘Z‘‘a‘‘b‘‘c‘‘d‘‘e‘‘f‘‘g‘‘h‘‘i‘‘j‘‘k‘‘l‘
‘m‘‘n‘‘o‘‘p‘‘q‘‘r‘‘s‘‘t‘‘u‘‘v‘‘w‘‘x‘‘y‘‘z‘};
Dc +=“00“;
int a=0;
String s=““;
for(int i=0;i<11;i++)
{
String b=Dc.substring(i*66*(i+1));
a=Integer.parseInt(b2);
s +=str[a];
}
return s;
}
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[] btInput = s.getBytes();
// 获得MD5摘要算法的 MessageDigest 对象
MessageDigest mdInst = MessageDigest.getInstance(“MD5“);
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.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) {
e.printStackTrace();
return null;
}
}
public static String des(String srcString key) throws Exception {
//DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
//创建一个 DESKeySpec 对象指定一个 DES 密钥
DESKeySpec ks = new DESKeySpec(key.getBytes(“gbk“));
//生成指定秘密密钥算法的 SecretKeyFactory 对象。
SecretKeyFactory skf = SecretKeyFactory.getInstance(“DES“);
//利用密钥工厂把DESKeySpec转换成一个SecretKey对象
SecretKey sk = skf.generateSecret(ks);
//Cipher对象实
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-07-08 15:20 ba
文件 310 2018-05-30 13:56 ba
文件 389 2018-05-28 19:49 ba
目录 0 2018-05-30 13:56 ba
目录 0 2018-05-30 13:56 ba
文件 4280 2018-05-30 13:56 ba
文件 984 2018-05-30 14:08 ba
文件 771 2018-05-30 14:08 ba
文件 781 2018-05-30 14:08 ba
文件 3625 2018-05-30 14:08 ba
文件 4028 2018-05-30 14:08 ba
文件 957 2018-05-30 14:08 ba
文件 966 2018-05-30 14:08 ba
文件 4309 2018-05-30 14:08 ba
文件 4347 2018-05-30 14:08 ba
目录 0 2018-05-30 12:48 ba
文件 724225 2018-05-29 20:26 ba
目录 0 2018-05-28 19:50 ba
目录 0 2018-05-29 22:26 ba
文件 3497 2018-05-29 22:34 ba
文件 13276 2018-05-30 14:08 ba
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论