• 大小: 701KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Java
  • 标签: JAVA  LINUX  WINDOWS  MYSQL  

资源简介

基于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  base_of_password\
     文件         310  2018-05-30 13:56  base_of_password\.classpath
     文件         389  2018-05-28 19:49  base_of_password\.project
     目录           0  2018-05-30 13:56  base_of_password\bin\
     目录           0  2018-05-30 13:56  base_of_password\bin\algorithm\
     文件        4280  2018-05-30 13:56  base_of_password\bin\algorithm\Agen.class
     文件         984  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm$back.class
     文件         771  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm$end.class
     文件         781  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm$modify.class
     文件        3625  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm$Ok.class
     文件        4028  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm$reg.class
     文件         957  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm$register.class
     文件         966  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm$ret.class
     文件        4309  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm$yes.class
     文件        4347  2018-05-30 14:08  base_of_password\bin\algorithm\Algorithm.class
     目录           0  2018-05-30 12:48  base_of_password\lib\
     文件      724225  2018-05-29 20:26  base_of_password\lib\mysql-connector-java-5.1.10-bin.jar
     目录           0  2018-05-28 19:50  base_of_password\src\
     目录           0  2018-05-29 22:26  base_of_password\src\algorithm\
     文件        3497  2018-05-29 22:34  base_of_password\src\algorithm\Agen.java
     文件       13276  2018-05-30 14:08  base_of_password\src\algorithm\Algorithm.java

评论

共有 条评论