Popular Post

Popular Posts

Posted by : IndoUVERworld Senin, 06 Mei 2013



ENKRIPSI TEXT DENGAN METODE BASE64 MENGGUNAKAN VISUAL C#
Algoritma Base64 merupakan algoritma yang menggunakan salah satu konsep algoritma enkripsi modern yaitu algoritma Block Cipher  yang berupa operasi pada mode bit namun algortma Base64 ini lebih mudah dalam pengimplementasiannya dari algoritma-algoritma yang lainnya. Base64 adalah metoda yang untuk melakukan encoding (penyandian) terhadap data binary menjadi format 6-bit character. Pada algoritma ini, rangkaian bit-bit palainteks dibagi menjadi blok-blok bit dengan panjang yang sama, biasanya 64 bit yang direpresentasikan dengan karakter ASCII. Base64 menggunakan karakter A – Z, a – z dan 0 – 9 untuk 62 nilai pertama, sedangkan 2 nilai terakhir digunakan symbol (+ dan /).
Standar yang penulis gunakan adalah MIME (Multipurpose Internet Mail Extensions)/RFC 1521. RFC ini menegaskan sebuah standar untuk implementasi Base64 terhadap data binary dan melampirkan sebuah karakter padding “=” jika terdapat kekurangan pada byte. Dalam streaming base64, spesifikasi mengharuskan setiap baris menjadi paling banyak 76 basis-64 karakter.

Tabel Enkode Base64
Value
Char
Value
Char
Value
Char
Value
Char
0
A
16
Q
32
g
48
w
1
B
17
R
33
h
49
x
2
C
18
S
34
i
50
y
3
D
19
T
35
j
51
z
4
E
20
U
36
k
52
0
5
F
21
V
37
l
53
1
6
G
22
W
38
m
54
2
7
H
23
X
39
n
55
3
8
I
24
Y
40
o
56
4
9
J
25
Z
41
p
57
5
10
K
26
a
42
q
58
6
11
L
27
b
43
r
59
7
12
M
28
c
44
s
60
8
13
N
29
d
45
t
61
9
14
O
30
e
46
u
62
+
15
P
31
f
47
v
63
/

Tabel 3.1 Index Base64


Di bawah ini merupakan sebuah contoh mudah mengkonversi kata “nuf” (decimal 110, 117, 102) menjadi dasar Notasi 64. '01101110 01110101 01100110' Ini 8-bit string dibagi ke dalam dua set 6 bit dan 4 blok. '011011 100111 010101 100110’ Untuk mengkonversi 6-bit angka, maka rubah lagi ke dalam bentuk decimal yang didapatkan 27, 39, 20, dan 38 yang jika dilihat pada dasar abjad-64 pada tabel diatas, maka didapatkan alphabet “bNUm”. Namun jika string biner tidak tepat dibagi dalam 6-bit dan urutan biner tidak merupakan ukuran 3 byte, maka Base64 mengaturya dengan menambahkan padding pada bit terakhir. Sebagai contoh kata “nufus”, maka akan dipisah menjadi “nuf” dan “us+1byte”.
Dalam kasus ini, jika diberikan contoh di mana satu byte yang tersisa, maka perlu tambahan dua byte pada semua zeros sampai akhir urutan biner. Kemudian satu byte tersebut dapat diwakili dengan satu byte dari 64 karakter dari Base64 diikuti oleh dua karakter padding.

Padding karakter yang telah ditentukan adalah '='. Mari mempertimbangkan contoh string “s” dengan decimal 115 berikut : '01110011' Contoh pad single-byte dengan dua byte dari angka nol. '00000001 00000000 00000000 ' Sekarang biner tersebut di set urutan enam byte.
'000000 ''010000''000000 ''000000' Setelah di set, maka ditemukan karakter berdasarkan Base64 adalah “AQ==”. Begitu pula pada penambahan-penambahan padding lainnya.

Selanjutnya, contoh proses dekripsi. Contoh “bNUm” diatas, lalu dirubah menjadi angka Index 27, 39, 20, dan 38. Kemudian ubah menjadi 6-bit biner. '011011 100111 010101 100110’ Set 6-bit, diubah kedalam 8-bit string. '01101110 01110101 01100110' Maka akan dihasilkan angka decimal 110, 117, dan 102 dimana karakterkarakter semulanya adalah “nuf” jika dilihat pada abel ASCII.








using System;
using System.Collections.Generic;
using System.Text;

namespace Encriptor
{
    class Base64
    {
        public static string Text2Base64(string pesanAwal)
        {
            System.Text.ASCIIEncoding encode = new System.Text.ASCIIEncoding();
            byte[] bytes = encode.GetBytes(pesanAwal);
            return System.Convert.ToBase64String(bytes, 0, bytes.Length);
        }

        public static string Base642Text(string pesanEncode)
        {
            byte[] bytes = System.Convert.FromBase64String(pesanEncode);
            System.Text.ASCIIEncoding encode = new System.Text.ASCIIEncoding();
            return encode.GetString(bytes, 0, bytes.Length);
        }
    }
}



Source Code Base64 Menggunakan Visual C#

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © 2013 ars undar - Kurumi Tokisaki - Powered by Blogger - Designed by Johanes Djogan -