Comment utiliser Java pour implémenter l'algorithme de cryptage DES
Vue d'ensemble :
DES (Data Encryption Standard) est un algorithme de cryptage symétrique largement utilisé dans le cryptage et le décryptage de données dans le domaine informatique. En Java, nous pouvons utiliser la bibliothèque javax.crypto pour implémenter l'algorithme de chiffrement DES.
Étapes :
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
SecretKey secretKey = keyGenerator.generateKey();
byte[] keyBytes = secretKey.getEncoded();
SecureRandom secureRandom = new SecureRandom();
secureRandom.nextBytes (iv);
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, new IvParameterSpec(iv));
byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
Exemple de code complet :importer javax.crypto.SecretKey;
importer javax.crypto.spec.IvParameterSpec;
importer javax.crypto.spec.SecretKeySpec;
importer java .security .SecureRandom;
public class DESExample {
public static void main(String[] args) throws Exception { // 生成密钥 KeyGenerator keyGenerator = KeyGenerator.getInstance("DES"); SecretKey secretKey = keyGenerator.generateKey(); byte[] keyBytes = secretKey.getEncoded(); // 转换密钥 SecretKeySpec secretKeySpec = new SecretKeySpec(keyBytes, "DES"); // 创建加密实例 Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); // 初始化加密实例 byte[] iv = new byte[cipher.getBlockSize()]; SecureRandom secureRandom = new SecureRandom(); secureRandom.nextBytes(iv); cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, new IvParameterSpec(iv)); // 加密数据 String input = "Hello, world!"; byte[] encryptedBytes = cipher.doFinal(input.getBytes()); // 解密数据 cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, new IvParameterSpec(iv)); byte[] decryptedBytes = cipher.doFinal(encryptedBytes); // 打印结果 System.out.println("明文:" + input); System.out.println("加密后:" + new String(encryptedBytes)); System.out.println("解密后:" + new String(decryptedBytes)); }
}
Résumé :
Grâce aux étapes ci-dessus, nous pouvons utiliser Java pour implémenter l'algorithme de cryptage DES. Dans le développement réel, vous pouvez effectuer des sélections raisonnables d'algorithmes et de modes de chiffrement en fonction de vos propres besoins, et effectuer les ajustements appropriés en fonction de scénarios commerciaux spécifiques. Cependant, veuillez noter que l'algorithme de cryptage DES est obsolète et n'est plus recommandé. Une option plus sécurisée est l'algorithme de cryptage AES.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!