麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > java后端字符串加密

java后端字符串加密

來源:千鋒教育
發布人:zyh
時間: 2023-06-15 17:28:00 1686821280

  在Java后端中,可以使用多種加密算法對字符串進行加密。以下是幾種常見的字符串加密技術:

  1. 哈希加密(Hash Encryption):哈希算法將輸入數據映射為固定長度的哈希值。它是單向的,無法逆向還原原始數據。常用的哈希算法包括MD5、SHA-1、SHA-256等。在Java中,可以使用Java的MessageDigest類來進行哈希加密。  

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class HashEncryption {
public static String encryptString(String input) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes());
StringBuilder hexString = new StringBuilder();

for (byte b : hash) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1)
hexString.append('0');
hexString.append(hex);
}

return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

return null;
}
}

  在上述示例中,使用SHA-256算法對輸入字符串進行哈希加密,并將結果轉換為十六進制字符串返回。

  2. 對稱加密(Symmetric Encryption):對稱加密使用相同的密鑰進行加密和解密。常見的對稱加密算法包括AES、DES、3DES等。在Java中,可以使用Java加密標準(Java Cryptography Architecture)中的Cipher類來進行對稱加密。 

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;

public class SymmetricEncryption {
public static String encryptString(String input, String key) {
try {
byte[] keyBytes = key.getBytes();
SecretKey secretKey = new SecretKeySpec(keyBytes, "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] encryptedBytes = cipher.doFinal(input.getBytes());
return Base64.getEncoder().encodeToString(encryptedBytes);
} catch (Exception e) {
e.printStackTrace();
}

return null;
}
}

  在上述示例中,使用AES算法進行對稱加密,使用指定的密鑰對輸入字符串進行加密,并將加密結果轉換為Base64編碼的字符串返回。

  3. 非對稱加密(Asymmetric Encryption):非對稱加密使用一對密鑰,包括公鑰和私鑰。公鑰用于加密數據,私鑰用于解密數據。常見的非對稱加密算法包括RSA。在Java中,可以使用Java加密標準中的KeyPairGenerator類和Cipher類來進行非對稱加密。  

import javax.crypto.Cipher;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.util.Base64;

public class AsymmetricEncryption {
public static String encryptString(String input) {
try {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(2048);
KeyPair keyPair = keyPairGenerator.generateKeyPair();

Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, keyPair.getPublic());
byte[] encryptedBytes = cipher.doFinal(input.getBytes());

return Base64.getEncoder().encodeToString(encryptedBytes);
} catch (Exception e) {
e.printStackTrace();
}

return null;
}
}

  在上述示例中,使用RSA算法進行非對稱加密,生成公鑰和私鑰對,并使用公鑰對輸入字符串進行加密,并將加密結果轉換為Base64編碼的字符串返回。

  這只是一些常見的字符串加密技術示例。在實際應用中,還需要考慮加密算法的選擇、密鑰管理、安全性等因素。另外,對于存儲用戶密碼等敏感信息,通常建議使用加鹽哈希(salted hash)來保護用戶數據的安全性。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 国产精品日本一区二区在线播放| 奇米色在线| 精品国内自产拍在线视频| 大雄的性生活| 三上悠亚ssni409在线看| 蜜汁肉桃h全篇| 久草资源福利站| 国产精品日韩欧美一区二区三区| 亚洲精品自产拍在线观看| 岛国精品在线| 国产一级一国产一级毛片| 国产人妖ts在线观看免费视频| 日日操夜夜操免费视频| 中文亚洲日韩欧美| 女bbbbxxxx另类亚洲| 色综合久久综合网观看| 中文字幕精品视频在线| 午夜羞羞影院| 一个人看的www日本高清视频| 玖玖色资源站| а√天堂资源地址在线官网| 最近高清中文字幕在线国语5| 孩交精品xxxx视频视频| 成人做受120视频试看| 日本在线高清版卡免v| 亚洲剧情在线观看| 日本videoshd高清黑人| 好大好硬别停老师办公室视频 | 欧美三级不卡| 波多野结衣33分钟办公室jian情| 高岭家の二轮花未增删| 久久九色综合九色99伊人| 国产福利1000| 草草浮力影视| 妇乱子伦激情| 免费一级在线| 亚洲午夜久久久精品电影院| 男人j插入女人p| 在线观看中文字幕码2023| 嘟嘟嘟www免费高清在线中文| 国产剧情精品在线观看|