Membuat Encrypt/Decrypt dengan Base64 di ASP Classic
- May 22nd, 2011
- Posted in Programming
- Write comment
ASP adalah bahasa pemrograman web yang ketinggalan jaman, tapi masih banyak yang digunakan dalam dunia internet sekarang. Microsoft sudah menyediakan ASP .Net sebagai upgrade, tapi karena kerumitannya, ASP classic masih tetap digunakan sebagai alternatif dari kesederhanaan PHP.
ASP adalah bahasa yang terlalu sederhana sehingga malah jadi membingungkan dalam implementasinya. Meskipun begitu, ASP banyak memiliki kekurangan fungsi yang harus kita buat sendiri. Salah satunya adalah masalah enkripsi/ dekripsi.
Dengan artikel ini, kita akan membuat sebuah cara yang paling mudah sederhana tapi aman untuk melakukan enkripsi data string, tetapi dimungkinan untuk melakukan dekripsi kembali untuk mendapatkan string yang kita sembunyikan. Hal ini misalkan bisa untuk mengenkripsi parameter url yang kita kirimkan kepada pelanggan lewat email atau mengenkripsi nomor kartu kredit di database. Enkripsi yang kita gunakan adalah base64.
caranya:
- Buat file func.asp untuk menyimpan fungsi asp yang kita buat
<% 'File fungsi func.asp 'Function for encode string Public Function base64_encode( byVal strIn ) Dim c1, c2, c3, w1, w2, w3, w4, n, strOut For n = 1 To Len( strIn ) Step 3 c1 = Asc( Mid( strIn, n, 1 ) ) c2 = Asc( Mid( strIn, n + 1, 1 ) + Chr(0) ) c3 = Asc( Mid( strIn, n + 2, 1 ) + Chr(0) ) w1 = Int( c1 / 4 ) : w2 = ( c1 And 3 ) * 16 + Int( c2 / 16 ) If Len( strIn ) >= n + 1 Then w3 = ( c2 And 15 ) * 4 + Int( c3 / 64 ) Else w3 = -1 End If If Len( strIn ) >= n + 2 Then w4 = c3 And 63 Else w4 = -1 End If strOut = strOut + mimeencode( w1 ) + mimeencode( w2 ) + _ mimeencode( w3 ) + mimeencode( w4 ) Next base64_encode = strOut End Function Private Function mimeencode( byVal intIn ) Base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" & _ "abcdefghijklmnopqrstuvwxyz" & _ "0123456789+/" If intIn >= 0 Then mimeencode = Mid( Base64Chars, intIn + 1, 1 ) Else mimeencode = "" End If End Function 'Function for decode string back Public Function base64_decode( byVal strIn ) Dim w1, w2, w3, w4, n, strOut For n = 1 To Len( strIn ) Step 4 w1 = mimedecode( Mid( strIn, n, 1 ) ) w2 = mimedecode( Mid( strIn, n + 1, 1 ) ) w3 = mimedecode( Mid( strIn, n + 2, 1 ) ) w4 = mimedecode( Mid( strIn, n + 3, 1 ) ) If w2 >= 0 Then _ strOut = strOut + _ Chr( ( ( w1 * 4 + Int( w2 / 16 ) ) And 255 ) ) If w3 >= 0 Then _ strOut = strOut + _ Chr( ( ( w2 * 16 + Int( w3 / 4 ) ) And 255 ) ) If w4 >= 0 Then _ strOut = strOut + _ Chr( ( ( w3 * 64 + w4 ) And 255 ) ) Next base64_decode = strOut End Function Private Function mimedecode( byVal strIn ) Base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" & _ "abcdefghijklmnopqrstuvwxyz" & _ "0123456789+/" If Len( strIn ) = 0 Then mimedecode = -1 : Exit Function Else mimedecode = InStr( Base64Chars, strIn ) - 1 End If End Function 'Function for split parameter keys and values function getparam(param) Dim Dictionary Set Dictionary=Server.CreateObject("Scripting.Dictionary") WordArray=Split(param,"&") for i = 0 to UBound(WordArray) WordArray1 = Split(WordArray(i),"=") Dictionary.add WordArray1(0), WordArray1(1) next set getparam = Dictionary end function %> |
- Kemudian buat halaman test.asp untuk melihat hasilnya dengan meng-include file fungsi yang sudah kita buat
<% <!--# include file="func.asp"--> 'Testing Page 'Encode parameters parameters = "credit_card_number=" & "378282246310005&" & "user=" & "me@om4g.us" response.write " Parameters: " & parameters & "<br/>" encoded_parameters = base64_encode(parameters) response.write " Encoded Parameters: " & encoded_parameters & "<br/>" decoded_parameters = base64_decode(encoded_parameters) response.write " Decoded Parameters: " & decoded_parameters & "<br/>" set splitted_parameters = getparam(decoded_parameters) response.write "All of parameters:<br/>" for each key in splitted_parameters.keys response.write ">> " & key & " is " & splitted_parameters(key) & "<br/>" next response.write "Get one parameter: credit_card_number is " & splitted_parameters("credit_card_number") & "<br/>" %> |
Selesai

om cara meng include itu kaya mana sech
kan kata ny kalo mau liat hasil ny mengincludes
@newbie-herbet
di skrip atas sudah termasuk semuanya. contoh includenya: