[Java] Verschlüsselung mit AES-Verschlüsselung mit Standardbibliothek

Was du machen willst

Beispiel für einen Verschlüsselungs- / Entschlüsselungsprozess

Implementierungsbeispiel

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
  }
}

Referenz

[Java] Kryptografie mit Standardbibliothek verwenden Lassen Sie uns die Verschlüsselung verarbeiten!

Recommended Posts

[Java] Verschlüsselung mit AES-Verschlüsselung mit Standardbibliothek
So kompilieren Sie Java mit VsCode & Ant
[Java] Fassen Sie zusammen, wie Sie mit der Methode equals vergleichen können
[Java] So testen Sie, ob es in JUnit null ist
Verwendung des Java-Frameworks mit AWS Lambda! ??
Verwendung der Java-API mit Lambda-Ausdrücken
Verschlüsseln / Entschlüsseln mit AES256 in PHP und Java
Aufrufen von Funktionen in großen Mengen mit Java Reflection
[Java] So lassen Sie die Federkonstruktorinjektion mit Lombok weg
So stellen Sie Java mit Serverless Framework für AWS Lambda bereit
Verwendung der nicht standardmäßigen Java-Bibliothek in IntelliJ IDEA
Verwendung der Z3-Bibliothek in Scala mit Eclipse
So geben Sie einen Standard aus einem Array mit for Each aus
Verwendung von Truth (Assertion Library für Java / Android)
Verwendung der JDD-Bibliothek in Scala mit Eclipse
So erstellen Sie eine Java-Entwicklungsumgebung mit VS Code
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Code, der verwendet werden soll, wenn Sie Json nur mit Standardbibliotheken in Java verarbeiten möchten
So senken Sie die Java-Version
[Java] Verwendung von Map
Java zum Spielen mit Function
Java - So erstellen Sie JTable
Verwendung von Java Optional
So minimieren Sie Java-Images
Wie schreibe ich einen Java-Kommentar
RSA-Verschlüsselung / Entschlüsselung mit Java 8
Verwendung der Java-Klasse
[Java] Verwendung von removeAll ()
[Java] So zeigen Sie Wingdings an
Wie man mit html.erb nummeriert (nummeriert)
Verwendung von Java Map
So aktualisieren Sie mit activerecord-import
So legen Sie Java-Konstanten fest
Stellen Sie mit Java eine Verbindung zur Datenbank her
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
Verwendung von Java-Variablen
So konvertieren Sie Java Base
[Java] So implementieren Sie Multithreading
So initialisieren Sie ein Java-Array
So kehren Sie die Kompilierung der Apk-Datei in Java-Quellcode mit MAC um
So behandeln Sie Ausnahmen mit Java 8 Stream oder Optional kühl
Untersucht, wie Dienste mit Watson SDK für Java aufgerufen werden
[Java] Ich möchte Standardeingabe und Standardausgabe mit JUnit testen
Erstellen Sie einen einfachen Webserver mit der Java-Standardbibliothek com.sun.net.httpserver
Wie fange ich mit schlank an?
Java # 6 studieren (Wie man Blöcke schreibt)
Verwenden Sie Microsoft Graph mit Standard-Java
[Java] Mit Arrays.asList () zu beachtende Punkte
So erstellen Sie einen Java-Container
So zerlegen Sie eine Java-Klassendatei
Wie man ein Zeichen mit "~" einschließt
Verwendung von HttpClient (Post) von Java
[Java] Verwendung der Join-Methode
Wagen Sie es, Kaggle mit Java herauszufordern (1)