<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.62</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.13</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
package com.aryo;
import org.apache.commons.codec.binary.Base64;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
/**
* Created by aryo on 23-Jan-2017.
* Class kriptografi kunci simetris sederhana yang memiliki kunci enkrip/dekrip yang spesifik dari
pengguna
*/
public class SymetricCrypto {
Page 3 of 6
Java-SimetriKripto
package com.aryo;
import javax.xml.bind.DatatypeConverter;
import java.io.UnsupportedEncodingException;
/**
* Created by aryo on 23-Jan-2017.
*
*/
public class Convert {
Page 4 of 6
Java-SimetriKripto
package com.aryo;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
import javax.crypto.NoSuchPaddingException;
import org.apache.commons.codec.binary.Base64;
/**
* Kriptografi Simetri
*
*/
public class App {
public static void main(String[] args) throws NoSuchPaddingException, NoSuchAlgorithmException {
String lanjut;
do {
System.out.print("Masukkan plaintext : ");
String plaintext = inputKeyboard.nextLine();
try {
String hasilEnkrip = symetricCrypto.encrypt(plaintext, paswdEnkrip);
System.out.println("Ciphertext in Base64 : " + hasilEnkrip);
System.out.println("Ciphertext in hexa : " +
Convert.byteArrayToHexString(Base64.decodeBase64(hasilEnkrip)));
System.out.println("Cihpertext in byte : " +
Convert.byteArrayToBytesString(Base64.decodeBase64(hasilEnkrip)));
Page 5 of 6
Java-SimetriKripto
Struktur Project
Struktur project seharusnya akan memiliki pola :
Project_Directory
|---src
|---main_package
|--- App.java
|--- Convert.java
|--- SymetricCrypto.java
|---pom.xml
Page 6 of 6