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