本文目錄一覽:
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();
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/158949.html