CryptSample.java
package com.tamorieeeen.sample
import java.util.Base64;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
*chiffrement/Échantillon de traitement de décryptage
* @author tamorieeeen
*/
public class CryptSample {
//algorithme/Mode bloc/Méthode de remplissage
private static final String ALGORITHM = "AES/CBC/PKCS5Padding";
//Clé utilisée pour le cryptage et le décryptage
private static final String ENCRYPT_KEY = "yourEncryptKey01";
//Vecteur initial
private static final String INIT_VECTOR = "yourInitVector01";
private final IvParameterSpec iv = new IvParameterSpec(INIT_VECTOR.getBytes());
private final SecretKeySpec key = new SecretKeySpec(ENCRYPT_KEY.getBytes(), "AES");
/**
*Enregistrer le jeton
*/
public void saveToken(String token) {
String encryptedToken = this.encryptToken(token);
//Enregistrer encryptedToken dans DB
this.saveTokenToDb(encryptedToken);
}
/**
*Processus de cryptage
*/
private String encryptToken(String token) throws Exception {
Cipher encrypter = Cipher.getInstance(ALGORITHM);
encrypter.init(Cipher.ENCRYPT_MODE, this.key, this.iv);
byte[] byteToken = encrypter.doFinal(token.getBytes());
return new String(Base64.getEncoder().encode(byteToken));
}
/**
*Obtenez un jeton
*/
public String getToken() {
//Obtenir le jeton de la base de données
String encryptedToken = this.getEncryptedTokenFromDb();
return this.decryptToken(encryptedToken);
}
/**
*Processus de décryptage
*/
private String decryptToken(String encryptedToken) throws Exception {
Cipher decrypter = Cipher.getInstance(ALGORITHM);
decrypter.init(Cipher.DECRYPT_MODE, this.key, this.iv);
byte[] byteToken = Base64.getDecoder().decode(encryptedToken);
return new String(decrypter.doFinal(byteToken));
}
/**À partir de maintenant, créez les méthodes dont vous avez besoin**/
/**
*Enregistrer le jeton dans la base de données
*/
private void saveTokenToDb(String encryptedToken) throws Exception {
//Traitement pour enregistrer encryptedToken dans DB
}
/**
*Obtenir le jeton de la base de données
*/
private String getEncryptedTokenFromDb() throws Exception {
//Processus pour obtenir un jeton de la base de données
}
}
[Java] Utiliser la cryptographie avec la bibliothèque standard Faisons le traitement du cryptage!
Recommended Posts