View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 27.04.2007   #2 (permalink)
xedition
 
Üyelik Tarihi: 13.03.2007
Yer: Sakarya
Mesaj: 24
Re: ASP ile SHA1 (Hash) değeri üretmek

JavaScript ile yazılmış bir fonksiyon :

http://forums.aspfree.com/code-bank-...ash-82166.html


Burada da bir sha1 hash fonksiyonu var.

http://fisheye1.cenqua.com/browse/of...ha1.asp?r=MAIN

Kod:
169     Function sha1_Hash(pStrMessage)
170 	Dim lLngLen, lBytLenW, lLngTempWordWAry, lLngNumBlocks, lLngBlock, lIntT, lBytTempAry
171 	Dim lVarWordWAry(79), lVarWordKAry(3)
172 	Dim lStrBlockText, lStrWordText, lStrPadMessage
173 	Dim lBytWordH0Ary, lBytWordH1Ary, lBytWordH2Ary, lBytWordH3Ary, lBytWordH4Ary
174 	Dim lBytWordAAry, lBytWordBAry, lBytWordCAry, lBytWordDAry, lBytWordEAry, lBytWordFAry
175 	   
176 	   lLngLen = Len(cstr(pStrMessage))
177 	   
178 	   lBytLenW = DoubleToWord(CDbl(lLngLen) * 8)
179 	   lStrPadMessage = pStrMessage & Chr(128) & String((128 - (lLngLen Mod 64) - 9) Mod 64, Chr(0)) & String(4, Chr(0)) & Chr(lBytLenW(0)) & Chr(lBytLenW(1)) & Chr(lBytLenW(2)) & Chr(lBytLenW(3))
180 	   lLngNumBlocks = Len(lStrPadMessage) / 64
181 	   
182 	   lVarWordKAry(0) = HexToWord("5A827999")
183 	   lVarWordKAry(1) = HexToWord("6ED9EBA1")
184 	   lVarWordKAry(2) = HexToWord("8F1BBCDC")
185 	   lVarWordKAry(3) = HexToWord("CA62C1D6")
186 	   lBytWordH0Ary = HexToWord("67452301")
187 	   lBytWordH1Ary = HexToWord("EFCDAB89")
188 	   lBytWordH2Ary = HexToWord("98BADCFE")
189 	   lBytWordH3Ary = HexToWord("10325476")
190 	   lBytWordH4Ary = HexToWord("C3D2E1F0")
191 	   
192 	   For lLngBlock = 0 To lLngNumBlocks - 1
193 	      
194 	          lStrBlockText = Mid(lStrPadMessage, (lLngBlock * 64) + 1, 64)
195 	      
196 	          For lIntT = 0 To 15
197 	         
198 	                 lStrWordText = Mid(lStrBlockText, (lIntT * 4) + 1, 4)
199 	         lVarWordWAry(lIntT) = Array(Asc(Mid(lStrWordText, 1, 1)), Asc(Mid(lStrWordText, 2, 1)), Asc(Mid(lStrWordText, 3, 1)), Asc(Mid(lStrWordText, 4, 1)))
200 	      
201 	          Next
202 	      
203 	          For lIntT = 16 To 79
204 	         
205 	                 lVarWordWAry(lIntT) = CircShiftLeftW(XorW(XorW(XorW(lVarWordWAry(lIntT - 3), lVarWordWAry(lIntT - 8)), lVarWordWAry(lIntT - 14)), lVarWordWAry(lIntT - 16)), 1)
206 	      
207 	          Next
208 	      
209 	          lBytWordAAry = lBytWordH0Ary
210 	      lBytWordBAry = lBytWordH1Ary
211 	      lBytWordCAry = lBytWordH2Ary
212 	      lBytWordDAry = lBytWordH3Ary
213 	      lBytWordEAry = lBytWordH4Ary
214 	      
215 	          For lIntT = 0 To 79
216 	         
217 	                 lBytWordFAry = F(lIntT, lBytWordBAry,  lBytWordCAry, lBytWordDAry)
218 	         lBytTempAry = AddW(AddW(AddW(AddW(CircShiftLeftW(lBytWordAAry, 5), lBytWordFAry), lBytWordEAry), lVarWordWAry(lIntT)), lVarWordKAry(lIntT \ 20))
219 	         lBytWordEAry = lBytWordDAry
220 	         lBytWordDAry = lBytWordCAry
221 	         lBytWordCAry = CircShiftLeftW(lBytWordBAry, 30)
222 	         lBytWordBAry = lBytWordAAry
223 	         lBytWordAAry = lBytTempAry
224 	      
225 	          Next
226 	      
227 	          lBytWordH0Ary = AddW(lBytWordH0Ary, lBytWordAAry)
228 	      lBytWordH1Ary = AddW(lBytWordH1Ary, lBytWordBAry)
229 	      lBytWordH2Ary = AddW(lBytWordH2Ary, lBytWordCAry)
230 	      lBytWordH3Ary = AddW(lBytWordH3Ary, lBytWordDAry)
231 	      lBytWordH4Ary = AddW(lBytWordH4Ary, lBytWordEAry)
232 	   
233 	   Next
234 	   
235 	   sha1_Hash = WordToHex(lBytWordH0Ary) & WordToHex(lBytWordH1Ary) & WordToHex(lBytWordH2Ary) &  WordToHex(lBytWordH3Ary) & WordToHex(lBytWordH4Ary)
236 	
237 	End Function
Bu adreste de bileşen kullanılarak yapılanı var :

http://www.example-code.com/asp/Sha1String.asp

Kolay Gelsin.
__________________
plustr.com
xedition şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin