- 浏览: 63387 次
- 性别:
- 来自: 杭州
最近访客 更多访客>>
最新评论
-
softor:
能否将一个.war的文件设成虚拟目录?
Jboss虚拟目录 -
jolestar:
不知道啥原因,我的一个朋友也这么说。不过我的ff一直稳定,无论 ...
火狐(fireFox)浏览器就知道吹牛(实际使用感受) -
Firede:
我家的IE7经常假死,
FF倒是跑的很顺。
用FF不因为别的 ...
火狐(fireFox)浏览器就知道吹牛(实际使用感受) -
ashion:
引用CS,CS-Source,帝国时代3,极品飞车10(英文) ...
玩QQ游戏每天超过2小时的人比较弱智 -
pig345:
哥们同情你。我目前正要离开这样一个小公司
这里的博客相册可以当网络硬盘使用
package jp.co.smile.common;
import java.io.IOException;
import java.security.*;
/***
* 作者:焦绪进
* 日期:20060804
* 说明:采用摘要算法,由于摘要算法不可逆,所以不容易破解
* 请使用encrypt()方法加密数据,该方法返回加密后的数据
* 然后将该数据存入数据库,字段长度至少>8 (尽量要长些)
* 方法checkDataSame()验证普通字符串是否与加密字符串“相等”
* 请自行删除“测试”的代码及方法
*/
public class PwdCheck {
/**
* 参数:String strPwd 参数为待加密的数据
* 功能:加密数据
* 说明:采用摘要算法,由于摘要算法不可逆,所以不容易破解
* */
public String encrypt(String strPwd) {
try {
//摘要算法SHA-1
java.security.MessageDigest alga=java.security.MessageDigest.getInstance("SHA-1");
alga.update(strPwd.getBytes());
byte[] digesta=alga.digest();
return byte2hex(digesta);
} catch (java.security.NoSuchAlgorithmException ex) {
System.out.println("非法摘要算法");
return "加密出错";
}
}
/**
* 参数:strPwdDB 为从数据库取出来的已加密字符串
* 参数:strPwdInput 为从页面取来的用户输入的字符串
* 说明:两字符串相等返回true,否则返回false
* */
public boolean checkDataSame(String strPwdDB, String strPwdInput) {
try {
java.security.MessageDigest algb=java.security.MessageDigest.getInstance("SHA-1");
algb.update(strPwdInput.getBytes());
String parameter2 = byte2hex(algb.digest());
//测试用
System.out.println("你刚才输入的密码已被加密成: " + parameter2);
//测试用
System.out.println("正在验证你输入的密码......");
if (strPwdDB.equals(parameter2)) {
return true;
} else {
return false;
}
} catch (java.security.NoSuchAlgorithmException ex) {
System.out.println("非法摘要算法");
return false;
}
}
/**
*二进制转字符串
*把二进制数组转换成十六进制串,用:号隔开
*一个字节(8位)对应于一个两位的十六进制数
*/
public 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;
if (n<b.length-1) hs=hs+":";
}
return hs.toUpperCase();
}
/**
* 该方法为测试用
* */
public static void main(String[] args) {
byte[] yourInput = new byte[16];
PwdCheck my = new PwdCheck();
//请输入“这是被加密的数据”与“数据库”中的数据进行比较
String getDataFromDB = my.encrypt("这是被加密的数据");
System.out.println("从数据库取得的加密数据为: " + getDataFromDB);
System.out.println("请输入密码: ");
try {
System.in.read(yourInput, 0, 16);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("你刚才输入的密码是: " + new String(yourInput));
//验证密码的有效性
if (my.checkDataSame(getDataFromDB, new String(yourInput))) {
System.out.println("密码正确!");
} else {
System.out.println("你输入的密码不正确!");
}
}
}
import java.io.IOException;
import java.security.*;
/***
* 作者:焦绪进
* 日期:20060804
* 说明:采用摘要算法,由于摘要算法不可逆,所以不容易破解
* 请使用encrypt()方法加密数据,该方法返回加密后的数据
* 然后将该数据存入数据库,字段长度至少>8 (尽量要长些)
* 方法checkDataSame()验证普通字符串是否与加密字符串“相等”
* 请自行删除“测试”的代码及方法
*/
public class PwdCheck {
/**
* 参数:String strPwd 参数为待加密的数据
* 功能:加密数据
* 说明:采用摘要算法,由于摘要算法不可逆,所以不容易破解
* */
public String encrypt(String strPwd) {
try {
//摘要算法SHA-1
java.security.MessageDigest alga=java.security.MessageDigest.getInstance("SHA-1");
alga.update(strPwd.getBytes());
byte[] digesta=alga.digest();
return byte2hex(digesta);
} catch (java.security.NoSuchAlgorithmException ex) {
System.out.println("非法摘要算法");
return "加密出错";
}
}
/**
* 参数:strPwdDB 为从数据库取出来的已加密字符串
* 参数:strPwdInput 为从页面取来的用户输入的字符串
* 说明:两字符串相等返回true,否则返回false
* */
public boolean checkDataSame(String strPwdDB, String strPwdInput) {
try {
java.security.MessageDigest algb=java.security.MessageDigest.getInstance("SHA-1");
algb.update(strPwdInput.getBytes());
String parameter2 = byte2hex(algb.digest());
//测试用
System.out.println("你刚才输入的密码已被加密成: " + parameter2);
//测试用
System.out.println("正在验证你输入的密码......");
if (strPwdDB.equals(parameter2)) {
return true;
} else {
return false;
}
} catch (java.security.NoSuchAlgorithmException ex) {
System.out.println("非法摘要算法");
return false;
}
}
/**
*二进制转字符串
*把二进制数组转换成十六进制串,用:号隔开
*一个字节(8位)对应于一个两位的十六进制数
*/
public 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;
if (n<b.length-1) hs=hs+":";
}
return hs.toUpperCase();
}
/**
* 该方法为测试用
* */
public static void main(String[] args) {
byte[] yourInput = new byte[16];
PwdCheck my = new PwdCheck();
//请输入“这是被加密的数据”与“数据库”中的数据进行比较
String getDataFromDB = my.encrypt("这是被加密的数据");
System.out.println("从数据库取得的加密数据为: " + getDataFromDB);
System.out.println("请输入密码: ");
try {
System.in.read(yourInput, 0, 16);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("你刚才输入的密码是: " + new String(yourInput));
//验证密码的有效性
if (my.checkDataSame(getDataFromDB, new String(yourInput))) {
System.out.println("密码正确!");
} else {
System.out.println("你输入的密码不正确!");
}
}
}
发表评论
-
invalid entry size(expected 429924352 but got 4299
2008-04-13 14:29 6424在安装Oracle10g的时候会发生如下的错误: D:\Or ... -
Oracle数据库的备份与恢复
2008-04-13 14:06 2220(一)导出/导入(EXPORT/IMPORT) 1.用 ... -
About java.lang.outOfMemory
2008-04-13 13:41 1856修改eclipse.ini文件 -vmargs -Xms40m ... -
导出oracle中表的部分数据
2008-04-13 13:26 3375以前我导出数据的时候都是全部导出,但这次遇到的表里的数据实在太 ... -
关于oracle数据库(远程对象调用)
2008-04-13 13:16 905-- Drop existing database l ... -
中文与Unicode编码互转
2008-04-13 13:01 1533<html> <head><ti ... -
时间格式化
2008-04-13 12:55 920String dateStr = "Fri Dec ... -
JSP中连接数据库
2008-04-13 12:52 810<%@ page language="Java ... -
java文件操作
2008-04-13 12:51 7451. ackage com.gamvan.too ... -
Java读取XML
2008-04-13 12:49 1210public class Untitled1 { pub ... -
利用JAVA绘图动态生成图片发送到客户端IE
2008-04-13 12:44 3721package com.gepower.ps.eps.topi ... -
排列组合在工作中的实际运用
2008-04-13 12:42 946个人理解:这个问题的本质是,每一行不选和选1,对于乘积的结 ... -
Jboss虚拟目录
2008-04-13 12:39 3044D:\jboss-4.0.2\server\default\d ... -
HashMap遍历
2008-04-13 12:34 5284import java.util.HashMap; impor ... -
Log4j与Jboss4共存
2008-04-13 12:33 1623log4j是一个很好的开源的日志项目,下面就我在实际中使用的一 ... -
Struts国际化的东西被我小小的一个类就能搞定
2008-04-13 12:30 932Struts国际化的东西叽叽歪歪 不好用, 有那么麻烦么?在J ... -
小日本是这样处理LIST表单更新/插入的
2008-04-13 12:22 1039在JSP中 每个字段对应一个数组。 <input nam ... -
连接数据库的相关代码
2008-04-13 12:18 983package ecogp.dml; import java. ... -
如何将JSP中RadioBox设为不可选状态,并且不变灰
2008-04-13 12:14 2395试过了onchange,onclick事件都不好使。(不用 d ... -
本地计算机上的OracleOraHome92Agent服务启动后又停止了
2008-04-13 12:12 4508本地计算机上的OracleOraHome92Agent服务启动 ...
相关推荐
本主题聚焦于“微信电脑端PC程序附加及内存查看micromsg加密密码”,这是一个涉及到软件逆向工程和调试的技术问题。我们将深入探讨如何通过附加到微信进程并分析内存来尝试找出加密密码的32位值。 首先,我们需要...
在用户登录时,获取数据库中的加密密码,然后与用户输入的密码进行加密匹配。 在实际应用中,应考虑以下最佳实践: - **不要存储明文密码**:无论何时何地,都应避免以明文形式存储密码。 - **定期更换加密算法**:...
Md5加密密码方法将密码加密后存储
破解Office文件加密密码.rar破解Office文件加密密码.rar破解Office文件加密密码.rar
4399加密密码js解密 4399加密密码js解密 4399加密密码js解密 4399加密密码js解密 视频教程
在shell脚本中使用加密密码的轻量级解决方案
SYD8801 密码加密 配对SYD8801 密码加密 配对SYD8801 密码加密 配对SYD8801 密码加密 配对SYD8801 密码加密 配对
在密码加密软件中,用户可能需要选择要加密的文件,输入加密密码,并查看加密过程的状态。这个文件可能包含了文件选择对话框、密码输入框以及进度条等元素的实现。 `DecryptStream.java`是解密流程的一部分,它可能...
共享文件夹加密4.5 共享加密 密码huzpsb.exe 共享文件夹加密4.5无毒版,非常好用,可以设置运行次数,截止运行时间。企业共享文件夹加密。
教您用卡王独家软件成功破解WPA加密密码
标题中的“Shell 简单的启动server,加密密码的脚本”暗示了这是一个关于使用Shell脚本来启动服务器服务,并且涉及到了密码的加密处理。在这个场景中,Shell脚本通常用于自动化系统管理任务,例如启动、停止或监控...
一个可以加密密码的登陆框,是采用一个比较简单的异域运算方法对输入的密码进行一个简单的加密.
PDF Password Unlocker,PDF 加密 密码 移除。强大的PDF解密工具
PC加密密码破解器 ,你想密码随心所欲么?
//程序刚开始个人信息保存在account.txt文件内...文件内密码是加密密码,三位加密密码对应一位 //真实密码 //222333,前三位对应真实密码2后三位对应真实密码3.所以正确密码位23 //account.txt文件初始已有20条数据
然后,我们可以使用 encryptCipher 对象来加密密码,使用 decryptCipher 对象来解密密码。 在我们的示例代码中,我们还提供了一个 byteArr2HexStr 方法,该方法将 byte 数组转换为十六进制字符串。这个方法首先获取...
然后,将上一步 output 中的加密密码替换系统中数据库的明文密码。例如,在 application.properties 文件中配置: ```properties jasypt: encryptor: password: ahtt algorithm: PBEWithMD5AndDES iv-generator...
破解WEP加密密码教程(手把手的教你破解WEP密码).pdf
2. **加密密码**:获取到用户输入的明文密码后,使用`Cipher`类的`init()`方法初始化一个加密模式,然后调用`doFinal()`方法对密码进行加密,得到密文。 3. **保存密文**:将加密后的密码存入SharedPreferences,...
2. 加密密码:使用生成的密钥,通过特定的加密算法(如AES)将数据库的原始密码加密成一串不可读的密文。这个密文可以安全地保存在配置文件中,因为即使被获取,没有正确的密钥也无法还原出原始密码。 3. 配置文件...