本文目录一览:
Java如何判断密码强度?
本程序按以下的方式进行评估.
1.如果密码少于5位,那么就认为这是一个弱密码.
2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码.
3.如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则认为这是一个中度安全的密码.
4.如果密码由数字、小写字母、大写字母或其它特殊符号当中的三种以上组成,则认为这是一个比较安全的密码.
本程序将根据用户输入的密码分别显示不同的颜色表示密码的强度,具体程序如下:
以下是引用片段:
script language=javascript
//CharMode函数
//测试某个字符是属于哪一类.
function CharMode(iN){
if (iN=48 iN =57) //数字
return 1;
if (iN=65 iN =90) //大写字母
return 2;
if (iN=97 iN =122) //小写
return 4;
else
return 8; //特殊字符
}
//bitTotal函数
//计算出当前密码当中一共有多少种模式
function bitTotal(num){
modes=0;
for (i=0;i4;i++){
if (num 1) modes++;
num=1;
}
return modes;
}
//checkStrong函数
//返回密码的强度级别
function checkStrong(sPW){
if (sPW.length=4)
return 0; //密码太短
Modes=0;
for (i=0;isPW.length;i++){
//测试每一个字符的类别并统计一共有多少种模式.
Modes|=CharMode(sPW.charCodeAt(i));
}
return bitTotal(Modes);
}
//pwStrength函数
//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色
function pwStrength(pwd){
O_color="#eeeeee";
L_color="#FF0000";
M_color="#FF9900";
H_color="#33CC00";
if (pwd==null||pwd==''){
Lcolor=Mcolor=Hcolor=O_color;
}
else{
S_level=checkStrong(pwd);
switch(S_level) {
case 0:
Lcolor=Mcolor=Hcolor=O_color;
case 1:
Lcolor=L_color;
Mcolor=Hcolor=O_color;
break;
case 2:
Lcolor=Mcolor=M_color;
Hcolor=O_color;
break;
default:
Lcolor=Mcolor=Hcolor=H_color;
}
}
document.getElementById("strength_L").style.background=Lcolor;
document.getElementById("strength_M").style.background=Mcolor;
document.getElementById("strength_H").style.background=Hcolor;
return;
}
/script
form name=form1 action=""
输入密码:input type=password size=10 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)
br密码强度:
table width="217" border="1" cellspacing="0" cellpadding="1" bordercolor="#cccccc" height="23" style='display:inline'
tr align="center" bgcolor="#eeeeee"
td width="33%" id="strength_L"弱/td
td width="33%" id="strength_M"中/td
td width="33%" id="strength_H"强/td
/tr
/table
/form
java系统修改的密码会在哪里
1、先打开navicat,先找到自己密码存放的位置,存放在自己厂库中的java文件目录下中找到表查到最好一个user这就是用来存放数据库密码的,对应的是用户名和密码。
2、然后再点击查询按钮新建一个查询的方式,对应我们修改java密码就是写一个sql语句具体如下:updateusersetpassword=password('123')whereuser='root',flushprivileges,修改需要刷新权限才能生效。
3、这样就是成功修改了java的密码然后在本地服务的地方重启mysql服务,直接关闭navicat再次打开的时候连接数据库就会连接失败说明数据库连接失败,只需要在重新编辑输入修改之后的密码即可。
java加密的几种方式
基本的单向加密算法:
BASE64 严格地说,属于编码格式,而非加密算法
MD5(Message Digest algorithm 5,信息摘要算法)
SHA(Secure Hash Algorithm,安全散列算法)
HMAC(Hash Message Authentication Code,散列消息鉴别码)
复杂的对称加密(DES、PBE)、非对称加密算法:
DES(Data Encryption Standard,数据加密算法)
PBE(Password-based encryption,基于密码验证)
RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)
DH(Diffie-Hellman算法,密钥一致协议)
DSA(Digital Signature Algorithm,数字签名)
ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)
代码参考:
/**
* BASE64加密
*
* @param key
* @return
* @throws Exception
*/
public static String encryptBASE64(byte[] key) throws Exception {
return (new BASE64Encoder()).encodeBuffer(key);
}
/**
* MD5加密
*
* @param data
* @return
* @throws Exception
*/
public static byte[] encryptMD5(byte[] data) throws Exception {
MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);
md5.update(data);
return md5.digest();
}
/**
* SHA加密
*
* @param data
* @return
* @throws Exception
*/
public static byte[] encryptSHA(byte[] data) throws Exception {
MessageDigest sha = MessageDigest.getInstance(KEY_SHA);
sha.update(data);
return sha.digest();
}
}
/**
* 初始化HMAC密钥
*
* @return
* @throws Exception
*/
public static String initMacKey() throws Exception {
KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_MAC);
SecretKey secretKey = keyGenerator.generateKey();
return encryptBASE64(secretKey.getEncoded());
}
/**
* HMAC加密
*
* @param data
* @param key
* @return
* @throws Exception
*/
public static byte[] encryptHMAC(byte[] data, String key) throws Exception {
SecretKey secretKey = new SecretKeySpec(decryptBASE64(key), KEY_MAC);
Mac mac = Mac.getInstance(secretKey.getAlgorithm());
mac.init(secretKey);
return mac.doFinal(data);
}
java中怎么修改密码
密码是否一致最好是在前端先判断,后端进行再次检验。要判断当前密码是否正确,必须把用户的账号一起传上去,然后取出改用户,拿旧密码与当前密码进行判断。2次输入的新密码一致,可以用password1.equals(password2);
Java密码正确与否的判断
先看下输入吧
最好equals判断反过来写
常量值写在前面
这样写密码如果为null
会抛空指针异常!
java怎么实现修改用户名密码
package changepassword;
import java.util.Scanner;
public class Administrator{
String name;//姓名
String password;//密码
String inputpass;//判断是否正确的密码
String newpassword;//再次输入密码
String repassword;//第2输入的密码
//String admin="";
String inputname="";
String Administrator ;
//显示方法
public void show(){
System.out.println("请输入用户名:");
Scanner input =new Scanner(System.in);
inputname =input.next();
System.out.println("请输入密码:");
inputpass=input.next();
if(inputname.equals(name)inputpass.equals(password)){
System.out.println("请输入新密码:");
newpassword=input.next();
System.out.println("请确认新密码:");
repassword=input.next();
while(!(newpassword.equals(repassword))){
System.out.println("两次输入的密码不一致,请重新输入新密码:");
newpassword=input.next();
System.out.println("请确认新密码:");
repassword=input.next();
}System.out.println("修改密码成功,新密码是:"+repassword);
}else{
System.out.println("用户名密码不一致,没更新的权限");
}
}
}
package changepassword;
public class AdministratorTest {
public static void main(String[] args) {
Administrator admin=new Administrator();//创建对象
admin.name="admin1";
admin.password="111111";
admin.show();
}
}