RC4 Şifreleme Algoritması

DarkCod3r

Key&RC4 Coder
Katılım
8 Ağu 2007
Mesajlar
1,683
Reaction score
0
Puanları
36
Yaş
36
Konum
Artık YENİ bi SOLUK
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!!!
 
hocam ellerine sağlık güzel bir konu açmıisın
 
Visual Basic için uyarlamasını yapayım ben de işime yarayacak...
 
SpAm Resmen ( Ç ) ALINTI yapmışsın bu herşeyi ile Cw den copy paste edilmiş ....
 
Geri
Üst