CryptSample.java
package com.tamorieeeen.sample
import java.util.Base64;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
*Verschlüsselung/Entschlüsselungsverarbeitungsprobe
* @author tamorieeeen
*/
public class CryptSample {
//Algorithmus/Blockmodus/Auffüllmethode
private static final String ALGORITHM = "AES/CBC/PKCS5Padding";
//Schlüssel zur Ver- und Entschlüsselung
private static final String ENCRYPT_KEY = "yourEncryptKey01";
//Anfangsvektor
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");
/**
*Token speichern
*/
public void saveToken(String token) {
String encryptedToken = this.encryptToken(token);
//Speichern Sie encryptedToken in der Datenbank
this.saveTokenToDb(encryptedToken);
}
/**
*Verschlüsselungsprozess
*/
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));
}
/**
*Bekomme Token
*/
public String getToken() {
//Token aus DB holen
String encryptedToken = this.getEncryptedTokenFromDb();
return this.decryptToken(encryptedToken);
}
/**
*Entschlüsselungsprozess
*/
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));
}
/**Erstellen Sie von hier an die gewünschten Methoden**/
/**
*Token in DB speichern
*/
private void saveTokenToDb(String encryptedToken) throws Exception {
//Verarbeitung zum Speichern von encryptedToken in DB
}
/**
*Token aus DB holen
*/
private String getEncryptedTokenFromDb() throws Exception {
//Prozess zum Abrufen des Tokens aus der Datenbank
}
}
[Java] Kryptografie mit Standardbibliothek verwenden Lassen Sie uns die Verschlüsselung verarbeiten!
Recommended Posts