Caesar Cipher merupakan salah satu bentuk kriptografi.
Dan merupakan salah satu model dari bentuk Kriptografi Simetris atau konvensional.
Yang dimaksud dengan Symetric Cryptography atau Kriptografi Simetris yaitu kunci yang digunakan untuk melakukan enkripsi dan dekripsi adalah sama.
* Plaintext adalah pesan yang dikirim dan mudah untuk dimengerti.
* Ciphertext adalah plaintext yang sudah diubah dengan metode tertentu sehingga perlu usaha khusus untuk dapat mengerti isinya.
* Agar data yang telah di enkripsi tersebut dapat dibaca kembali maka perlu di dekripsi dengan menggunakan kunci bersama yang sama dengan saat dilakukan enkripsi. Jadi kunci bersama (public key) merupakan aturan yang berlaku saat dilakukan enkripsi dan dekripsi.
Dan contoh enkripsi konvensional klasikyang saya pakai disini adalah CAESAR CIPHER.
Yang merupakan metode enkripsi yang dilakukan pada zaman Julius Caesar. Hanya dipergunakan pada Alfabet baik huruf kapital maupun huruf kecil. Sehingga ketika proses yang dilakukan pada angka maka hal tersebut tidak dapat dilakukan. Cara enkripsi dari metode ini yaitu dengan memutar sejauh tiga langkah. Bentuk dari enkripsi ini adalah sbb:
a b c d e f g h i j k l m n o p q r s t u v w x y z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
contoh lain dari encripsi (lebih sederhana) :
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
*
* @author Jon
*/
public class SimpleMD5 {
private String convertToHex(byte[] data)
{
StringBuffer buf = new StringBuffer();
for (int i = 0; i < data.length; i++) {
int halfbyte = (data[i] >>> 4) & 0x0F;
int two_halfs = 0;
do {
if ((0 <= halfbyte) && (halfbyte <= 9)) {
buf.append((char) ('0' + halfbyte));
} else {
buf.append((char) ('a' + (halfbyte - 10)));
}
halfbyte = data[i] & 0x0F;
} while (two_halfs++ < 1);
}
return buf.toString();
}
public String MD5(String text)
throws NoSuchAlgorithmException, UnsupportedEncodingException {
MessageDigest md;
md = MessageDigest.getInstance("MD5");
byte[] md5hash = new byte[32];
md.update(text.getBytes("iso-8859-1"), 0, text.length());
md5hash = md.digest();
return convertToHex(md5hash);
}
public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
SimpleMD5 mySimpleMD5 = new SimpleMD5();
String input = "password";
System.out.println("Input: " + input);
// Nge print value yg di hash .....
System.out.println("MD5 : " + mySimpleMD5.MD5(input));
}
Read More