DarkCod3r
Key&RC4 Coder
RC4 ŞİFRELEME ALGORİTMASI
RC4, bir anahtar ile bir metni şifrelemeye yarayan bir şifreleme algoritmasıdır,
yaygın olarak kullanılır ve genelde mesajları şifrelemede kullanılır.
RC4 un ASP ye uyarlanmıs halini sizlere aktarayım ;
RC4 şifreleme algoritma kodu :
<%
Function RC4(ByRef pStrMessage, ByRef pStrKey)
Dim lBytAsciiAry(255)
Dim lBytKeyAry(255)
Dim lLngIndex
Dim lBytJump
Dim lBytTemp
Dim lBytY
Dim lLngT
Dim lLngX
Dim lLngKeyLength
’ Validate data
If Len(pStrKey) = 0 Then Exit Function
If Len(pStrMessage) = 0 Then Exit Function
’ transfer repeated key to array
lLngKeyLength = Len(pStrKey)
For lLngIndex = 0 To 255
lBytKeyAry(lLngIndex) = Asc(Mid(pStrKey, ((lLngIndex) Mod (lLngKeyLength)) + 1, 1))
Next
’ Initialize S
For lLngIndex = 0 To 255
lBytAsciiAry(lLngIndex) = lLngIndex
Next
’ Switch values of S arround based off of index and Key value
lBytJump = 0
For lLngIndex = 0 To 255
’ Figure index to switch
lBytJump = (lBytJump + lBytAsciiAry(lLngIndex) + lBytKeyAry(lLngIndex)) Mod 256
’ Do the switch
lBytTemp = lBytAsciiAry(lLngIndex)
lBytAsciiAry(lLngIndex) = lBytAsciiAry(lBytJump)
lBytAsciiAry(lBytJump) = lBytTemp
Next
lLngIndex = 0
lBytJump = 0
For lLngX = 1 To Len(pStrMessage)
lLngIndex = (lLngIndex + 1) Mod 256 ’ wrap index
lBytJump = (lBytJump + lBytAsciiAry(lLngIndex)) Mod 256 ’ wrap J+S()
’ Add/Wrap those two
lLngT = (lBytAsciiAry(lLngIndex) + lBytAsciiAry(lBytJump)) Mod 256
’ Switcheroo
lBytTemp = lBytAsciiAry(lLngIndex)
lBytAsciiAry(lLngIndex) = lBytAsciiAry(lBytJump)
lBytAsciiAry(lBytJump) = lBytTemp
lBytY = lBytAsciiAry(lLngT)
’ Character Encryption ...
RC4 = RC4 & Chr(Asc(Mid(pStrMessage, lLngX, 1)) Xor lBytY)
Next
End Function
%>
şeklinde olup bunu kullanmak için yukardaki kodu herhangi bir isimle uzantısı ASP olucak sekilde kaydedin.. [ örnek : rc4_algoritma.asp ]
daha sonra
<%Option Explicit%>
<!--#include file="rc4_algoritma.asp"-->
<%
Dim lStrKey
Dim lStrMessage
Dim lStrResult
If Not Request.Form = "" Then
lStrKey = Request.Form("Key")
lStrMessage = Request.Form("Message")
lStrResult = RC4(lStrMessage, lStrKey)
End If
%>
<html>
<head>
<title>RC4 Encryption</title>
</head>
<bOdy>
<form method="Post">
Key:
<input name="Key" value="<%=Server.HTMLEncode(lStrKey)%>"><BR>
<BR>
Message:<BR>
<textarea name="Message" rows="6" cols="50"><%=Server.HTMLEncode(lStrResult)%></textarea>
<BR>
<input type="Submit" value="Encode / Decode">
</form>
</bOdy>
</html>
bu kodun gorevide RC4 algoritmasını kullanarak girilen metinleri girilen anahtar degerine gore şifrelemektir. Bu kodu örnegin rc4_olusturucu.asp olarak kaydedit, ASP destekli bir makinede rc4_olusturucu.asp yi calıstırınız.
Dikkat etmeniz gereken kodun ASP oldugu, iki kodunda yanyana durması gerektiği ve <!--#include file="rc4_algoritma.asp"--> tagının dogru yapılmıs olup olmadıgıdır
Anlayan Arkdaşlar Uğraşsın Lütfen!!!
RC4, bir anahtar ile bir metni şifrelemeye yarayan bir şifreleme algoritmasıdır,
yaygın olarak kullanılır ve genelde mesajları şifrelemede kullanılır.
RC4 un ASP ye uyarlanmıs halini sizlere aktarayım ;
RC4 şifreleme algoritma kodu :
<%
Function RC4(ByRef pStrMessage, ByRef pStrKey)
Dim lBytAsciiAry(255)
Dim lBytKeyAry(255)
Dim lLngIndex
Dim lBytJump
Dim lBytTemp
Dim lBytY
Dim lLngT
Dim lLngX
Dim lLngKeyLength
’ Validate data
If Len(pStrKey) = 0 Then Exit Function
If Len(pStrMessage) = 0 Then Exit Function
’ transfer repeated key to array
lLngKeyLength = Len(pStrKey)
For lLngIndex = 0 To 255
lBytKeyAry(lLngIndex) = Asc(Mid(pStrKey, ((lLngIndex) Mod (lLngKeyLength)) + 1, 1))
Next
’ Initialize S
For lLngIndex = 0 To 255
lBytAsciiAry(lLngIndex) = lLngIndex
Next
’ Switch values of S arround based off of index and Key value
lBytJump = 0
For lLngIndex = 0 To 255
’ Figure index to switch
lBytJump = (lBytJump + lBytAsciiAry(lLngIndex) + lBytKeyAry(lLngIndex)) Mod 256
’ Do the switch
lBytTemp = lBytAsciiAry(lLngIndex)
lBytAsciiAry(lLngIndex) = lBytAsciiAry(lBytJump)
lBytAsciiAry(lBytJump) = lBytTemp
Next
lLngIndex = 0
lBytJump = 0
For lLngX = 1 To Len(pStrMessage)
lLngIndex = (lLngIndex + 1) Mod 256 ’ wrap index
lBytJump = (lBytJump + lBytAsciiAry(lLngIndex)) Mod 256 ’ wrap J+S()
’ Add/Wrap those two
lLngT = (lBytAsciiAry(lLngIndex) + lBytAsciiAry(lBytJump)) Mod 256
’ Switcheroo
lBytTemp = lBytAsciiAry(lLngIndex)
lBytAsciiAry(lLngIndex) = lBytAsciiAry(lBytJump)
lBytAsciiAry(lBytJump) = lBytTemp
lBytY = lBytAsciiAry(lLngT)
’ Character Encryption ...
RC4 = RC4 & Chr(Asc(Mid(pStrMessage, lLngX, 1)) Xor lBytY)
Next
End Function
%>
şeklinde olup bunu kullanmak için yukardaki kodu herhangi bir isimle uzantısı ASP olucak sekilde kaydedin.. [ örnek : rc4_algoritma.asp ]
daha sonra
<%Option Explicit%>
<!--#include file="rc4_algoritma.asp"-->
<%
Dim lStrKey
Dim lStrMessage
Dim lStrResult
If Not Request.Form = "" Then
lStrKey = Request.Form("Key")
lStrMessage = Request.Form("Message")
lStrResult = RC4(lStrMessage, lStrKey)
End If
%>
<html>
<head>
<title>RC4 Encryption</title>
</head>
<bOdy>
<form method="Post">
Key:
<input name="Key" value="<%=Server.HTMLEncode(lStrKey)%>"><BR>
<BR>
Message:<BR>
<textarea name="Message" rows="6" cols="50"><%=Server.HTMLEncode(lStrResult)%></textarea>
<BR>
<input type="Submit" value="Encode / Decode">
</form>
</bOdy>
</html>
bu kodun gorevide RC4 algoritmasını kullanarak girilen metinleri girilen anahtar degerine gore şifrelemektir. Bu kodu örnegin rc4_olusturucu.asp olarak kaydedit, ASP destekli bir makinede rc4_olusturucu.asp yi calıstırınız.
Dikkat etmeniz gereken kodun ASP oldugu, iki kodunda yanyana durması gerektiği ve <!--#include file="rc4_algoritma.asp"--> tagının dogru yapılmıs olup olmadıgıdır
Anlayan Arkdaşlar Uğraşsın Lütfen!!!