设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 86|回复: 6
打印 上一主题 下一主题

[求助]数据库加密

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-7 07:46:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我对数据库不太明白
 我想问一下
  假如用户注册了,密码忘记了,我想打开数据库查找那个用户的 密码 
那是在数据库中的密码已经通过MD5加密了,例如用户名字admin 密码:5fbc1b594d0c65b0
那这个密码怎么变成没有被MD5加密前的密码呢?
2#
发表于 2010-1-7 07:46:13 | 只看该作者
一般MD5加密找回密码的功能不是找回原来的密码,而是把原来的密码进行修改后,告知用户这样做的找回密码。
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-7 07:46:17 | 只看该作者
MD5加密的原理:
  1. <%
  2. private const bits_to_a_byte = 8
  3. private const bytes_to_a_word = 4
  4. private const bits_to_a_word = 32
  5. private m_lonbits(30)
  6. private m_l2power(30)
  7. private function lshift(lvalue, ishiftbits)
  8. if ishiftbits = 0 then
  9. lshift = lvalue
  10. exit function
  11. elseif ishiftbits = 31 then
  12. if lvalue and 1 then
  13. lshift = &h80000000
  14. else
  15. lshift = 0
  16. end if
  17. exit function
  18. elseif ishiftbits < 0 or ishiftbits > 31 then
  19. err.raise 6
  20. end if
  21. if (lvalue and m_l2power(31 - ishiftbits)) then
  22. lshift = ((lvalue and m_lonbits(31 - (ishiftbits + 1))) * m_l2power(ishiftbits)) or &h80000000
  23. else
  24. lshift = ((lvalue and m_lonbits(31 - ishiftbits)) * m_l2power(ishiftbits))
  25. end if
  26. end function
  27. private function rshift(lvalue, ishiftbits)
  28. if ishiftbits = 0 then
  29. rshift = lvalue
  30. exit function
  31. elseif ishiftbits = 31 then
  32. if lvalue and &h80000000 then
  33. rshift = 1
  34. else
  35. rshift = 0
  36. end if
  37. exit function
  38. elseif ishiftbits < 0 or ishiftbits > 31 then
  39. err.raise 6
  40. end if
  41. rshift = (lvalue and &h7ffffffe) \ m_l2power(ishiftbits)
  42. if (lvalue and &h80000000) then
  43. rshift = (rshift or (&h40000000 \ m_l2power(ishiftbits - 1)))
  44. end if
  45. end function
  46. private function rotateleft(lvalue, ishiftbits)
  47. rotateleft = lshift(lvalue, ishiftbits) or rshift(lvalue, (32 - ishiftbits))
  48. end function
  49. private function addunsigned(lx, ly)
  50. dim lx4
  51. dim ly4
  52. dim lx8
  53. dim ly8
  54. dim lresult
  55. lx8 = lx and &h80000000
  56. ly8 = ly and &h80000000
  57. lx4 = lx and &h40000000
  58. ly4 = ly and &h40000000
  59. lresult = (lx and &h3fffffff) + (ly and &h3fffffff)
  60. if lx4 and ly4 then
  61. lresult = lresult xor &h80000000 xor lx8 xor ly8
  62. elseif lx4 or ly4 then
  63. if lresult and &h40000000 then
  64. lresult = lresult xor &hc0000000 xor lx8 xor ly8
  65. else
  66. lresult = lresult xor &h40000000 xor lx8 xor ly8
  67. end if
  68. else
  69. lresult = lresult xor lx8 xor ly8
  70. end if
  71. addunsigned = lresult
  72. end function
  73. private function md5_f(x, y, z)
  74. md5_f = (x and y) or ((not x) and z)
  75. end function
  76. private function md5_g(x, y, z)
  77. md5_g = (x and z) or (y and (not z))
  78. end function
  79. private function md5_h(x, y, z)
  80. md5_h = (x xor y xor z)
  81. end function
  82. private function md5_i(x, y, z)
  83. md5_i = (y xor (x or (not z)))
  84. end function
  85. private sub md5_ff(a, b, c, d, x, s, ac)
  86. a = addunsigned(a, addunsigned(addunsigned(md5_f(b, c, d), x), ac))
  87. a = rotateleft(a, s)
  88. a = addunsigned(a, b)
  89. end sub
  90. private sub md5_gg(a, b, c, d, x, s, ac)
  91. a = addunsigned(a, addunsigned(addunsigned(md5_g(b, c, d), x), ac))
  92. a = rotateleft(a, s)
  93. a = addunsigned(a, b)
  94. end sub
  95. private sub md5_hh(a, b, c, d, x, s, ac)
  96. a = addunsigned(a, addunsigned(addunsigned(md5_h(b, c, d), x), ac))
  97. a = rotateleft(a, s)
  98. a = addunsigned(a, b)
  99. end sub
  100. private sub md5_ii(a, b, c, d, x, s, ac)
  101. a = addunsigned(a, addunsigned(addunsigned(md5_i(b, c, d), x), ac))
  102. a = rotateleft(a, s)
  103. a = addunsigned(a, b)
  104. end sub
  105. private function converttowordarray(smessage)
  106. dim lmessagelength
  107. dim lnumberofwords
  108. dim lwordarray()
  109. dim lbyteposition
  110. dim lbytecount
  111. dim lwordcount
  112. const modulus_bits = 512
  113. const congruent_bits = 448
  114. lmessagelength = len(smessage)
  115. lnumberofwords = (((lmessagelength + ((modulus_bits - congruent_bits) \ bits_to_a_byte)) \ (modulus_bits \ bits_to_a_byte)) + 1) * (modulus_bits \ bits_to_a_word)
  116. redim lwordarray(lnumberofwords - 1)
  117. lbyteposition = 0
  118. lbytecount = 0
  119. do until lbytecount >= lmessagelength
  120. lwordcount = lbytecount \ bytes_to_a_word
  121. lbyteposition = (lbytecount mod bytes_to_a_word) * bits_to_a_byte
  122. lwordarray(lwordcount) = lwordarray(lwordcount) or lshift(asc(mid(smessage, lbytecount + 1, 1)), lbyteposition)
  123. lbytecount = lbytecount + 1
  124. loop
  125. lwordcount = lbytecount \ bytes_to_a_word
  126. lbyteposition = (lbytecount mod bytes_to_a_word) * bits_to_a_byte
  127. lwordarray(lwordcount) = lwordarray(lwordcount) or lshift(&h80, lbyteposition)
  128. lwordarray(lnumberofwords - 2) = lshift(lmessagelength, 3)
  129. lwordarray(lnumberofwords - 1) = rshift(lmessagelength, 29)
  130. converttowordarray = lwordarray
  131. end function
  132. private function wordtohex(lvalue)
  133. dim lbyte
  134. dim lcount
  135. for lcount = 0 to 3
  136. lbyte = rshift(lvalue, lcount * bits_to_a_byte) and m_lonbits(bits_to_a_byte - 1)
  137. wordtohex = wordtohex & right("0" & hex(lbyte), 2)
  138. next
  139. end function
  140. public function md5(smessage)
  141. m_lonbits(0) = clng(1)
  142. m_lonbits(1) = clng(3)
  143. m_lonbits(2) = clng(7)
  144. m_lonbits(3) = clng(15)
  145. m_lonbits(4) = clng(31)
  146. m_lonbits(5) = clng(63)
  147. m_lonbits(6) = clng(127)
  148. m_lonbits(7) = clng(255)
  149. m_lonbits(8) = clng(511)
  150. m_lonbits(9) = clng(1023)
  151. m_lonbits(10) = clng(2047)
  152. m_lonbits(11) = clng(4095)
  153. m_lonbits(12) = clng(8191)
  154. m_lonbits(13) = clng(16383)
  155. m_lonbits(14) = clng(32767)
  156. m_lonbits(15) = clng(65535)
  157. m_lonbits(16) = clng(131071)
  158. m_lonbits(17) = clng(262143)
  159. m_lonbits(18) = clng(524287)
  160. m_lonbits(19) = clng(1048575)
  161. m_lonbits(20) = clng(2097151)
  162. m_lonbits(21) = clng(4194303)
  163. m_lonbits(22) = clng(8388607)
  164. m_lonbits(23) = clng(16777215)
  165. m_lonbits(24) = clng(33554431)
  166. m_lonbits(25) = clng(67108863)
  167. m_lonbits(26) = clng(134217727)
  168. m_lonbits(27) = clng(268435455)
  169. m_lonbits(28) = clng(536870911)
  170. m_lonbits(29) = clng(1073741823)
  171. m_lonbits(30) = clng(2147483647)
  172. m_l2power(0) = clng(1)
  173. m_l2power(1) = clng(2)
  174. m_l2power(2) = clng(4)
  175. m_l2power(3) = clng(8)
  176. m_l2power(4) = clng(16)
  177. m_l2power(5) = clng(32)
  178. m_l2power(6) = clng(64)
  179. m_l2power(7) = clng(128)
  180. m_l2power(8) = clng(256)
  181. m_l2power(9) = clng(512)
  182. m_l2power(10) = clng(1024)
  183. m_l2power(11) = clng(2048)
  184. m_l2power(12) = clng(4096)
  185. m_l2power(13) = clng(8192)
  186. m_l2power(14) = clng(16384)
  187. m_l2power(15) = clng(32768)
  188. m_l2power(16) = clng(65536)
  189. m_l2power(17) = clng(131072)
  190. m_l2power(18) = clng(262144)
  191. m_l2power(19) = clng(524288)
  192. m_l2power(20) = clng(1048576)
  193. m_l2power(21) = clng(2097152)
  194. m_l2power(22) = clng(4194304)
  195. m_l2power(23) = clng(8388608)
  196. m_l2power(24) = clng(16777216)
  197. m_l2power(25) = clng(33554432)
  198. m_l2power(26) = clng(67108864)
  199. m_l2power(27) = clng(134217728)
  200. m_l2power(28) = clng(268435456)
  201. m_l2power(29) = clng(536870912)
  202. m_l2power(30) = clng(1073741824)
  203. dim x
  204. dim k
  205. dim aa
  206. dim bb
  207. dim cc
  208. dim dd
  209. dim a
  210. dim b
  211. dim c
  212. dim d
  213. const s11 = 7
  214. const s12 = 12
  215. const s13 = 17
  216. const s14 = 22
  217. const s21 = 5
  218. const s22 = 9
  219. const s23 = 14
  220. const s24 = 20
  221. const s31 = 4
  222. const s32 = 11
  223. const s33 = 16
  224. const s34 = 23
  225. const s41 = 6
  226. const s42 = 10
  227. const s43 = 15
  228. const s44 = 21
  229. x = converttowordarray(smessage)
  230. a = &h67452301
  231. b = &hefcdab89
  232. c = &h98badcfe
  233. d = &h10325476
  234. for k = 0 to ubound(x) step 16
  235. aa = a
  236. bb = b
  237. cc = c
  238. dd = d
  239. md5_ff a, b, c, d, x(k + 0), s11, &hd76aa478
  240. md5_ff d, a, b, c, x(k + 1), s12, &he8c7b756
  241. md5_ff c, d, a, b, x(k + 2), s13, &h242070db
  242. md5_ff b, c, d, a, x(k + 3), s14, &hc1bdceee
  243. md5_ff a, b, c, d, x(k + 4), s11, &hf57c0faf
  244. md5_ff d, a, b, c, x(k + 5), s12, &h4787c62a
  245. md5_ff c, d, a, b, x(k + 6), s13, &ha8304613
  246. md5_ff b, c, d, a, x(k + 7), s14, &hfd469501
  247. md5_ff a, b, c, d, x(k + 8), s11, &h698098d8
  248. md5_ff d, a, b, c, x(k + 9), s12, &h8b44f7af
  249. md5_ff c, d, a, b, x(k + 10), s13, &hffff5bb1
  250. md5_ff b, c, d, a, x(k + 11), s14, &h895cd7be
  251. md5_ff a, b, c, d, x(k + 12), s11, &h6b901122
  252. md5_ff d, a, b, c, x(k + 13), s12, &hfd987193
  253. md5_ff c, d, a, b, x(k + 14), s13, &ha679438e
  254. md5_ff b, c, d, a, x(k + 15), s14, &h49b40821
  255. md5_gg a, b, c, d, x(k + 1), s21, &hf61e2562
  256. md5_gg d, a, b, c, x(k + 6), s22, &hc040b340
  257. md5_gg c, d, a, b, x(k + 11), s23, &h265e5a51
  258. md5_gg b, c, d, a, x(k + 0), s24, &he9b6c7aa
  259. md5_gg a, b, c, d, x(k + 5), s21, &hd62f105d
  260. md5_gg d, a, b, c, x(k + 10), s22, &h2441453
  261. md5_gg c, d, a, b, x(k + 15), s23, &hd8a1e681
  262. md5_gg b, c, d, a, x(k + 4), s24, &he7d3fbc8
  263. md5_gg a, b, c, d, x(k + 9), s21, &h21e1cde6
  264. md5_gg d, a, b, c, x(k + 14), s22, &hc33707d6
  265. md5_gg c, d, a, b, x(k + 3), s23, &hf4d50d87
  266. md5_gg b, c, d, a, x(k + 8), s24, &h455a14ed
  267. md5_gg a, b, c, d, x(k + 13), s21, &ha9e3e905
  268. md5_gg d, a, b, c, x(k + 2), s22, &hfcefa3f8
  269. md5_gg c, d, a, b, x(k + 7), s23, &h676f02d9
  270. md5_gg b, c, d, a, x(k + 12), s24, &h8d2a4c8a
  271. md5_hh a, b, c, d, x(k + 5), s31, &hfffa3942
  272. md5_hh d, a, b, c, x(k + 8), s32, &h8771f681
  273. md5_hh c, d, a, b, x(k + 11), s33, &h6d9d6122
  274. md5_hh b, c, d, a, x(k + 14), s34, &hfde5380c
  275. md5_hh a, b, c, d, x(k + 1), s31, &ha4beea44
  276. md5_hh d, a, b, c, x(k + 4), s32, &h4bdecfa9
  277. md5_hh c, d, a, b, x(k + 7), s33, &hf6bb4b60
  278. md5_hh b, c, d, a, x(k + 10), s34, &hbebfbc70
  279. md5_hh a, b, c, d, x(k + 13), s31, &h289b7ec6
  280. md5_hh d, a, b, c, x(k + 0), s32, &heaa127fa
  281. md5_hh c, d, a, b, x(k + 3), s33, &hd4ef3085
  282. md5_hh b, c, d, a, x(k + 6), s34, &h4881d05
  283. md5_hh a, b, c, d, x(k + 9), s31, &hd9d4d039
  284. md5_hh d, a, b, c, x(k + 12), s32, &he6db99e5
  285. md5_hh c, d, a, b, x(k + 15), s33, &h1fa27cf8
  286. md5_hh b, c, d, a, x(k + 2), s34, &hc4ac5665
  287. md5_ii a, b, c, d, x(k + 0), s41, &hf4292244
  288. md5_ii d, a, b, c, x(k + 7), s42, &h432aff97
  289. md5_ii c, d, a, b, x(k + 14), s43, &hab9423a7
  290. md5_ii b, c, d, a, x(k + 5), s44, &hfc93a039
  291. md5_ii a, b, c, d, x(k + 12), s41, &h655b59c3
  292. md5_ii d, a, b, c, x(k + 3), s42, &h8f0ccc92
  293. md5_ii c, d, a, b, x(k + 10), s43, &hffeff47d
  294. md5_ii b, c, d, a, x(k + 1), s44, &h85845dd1
  295. md5_ii a, b, c, d, x(k + 8), s41, &h6fa87e4f
  296. md5_ii d, a, b, c, x(k + 15), s42, &hfe2ce6e0
  297. md5_ii c, d, a, b, x(k + 6), s43, &ha3014314
  298. md5_ii b, c, d, a, x(k + 13), s44, &h4e0811a1
  299. md5_ii a, b, c, d, x(k + 4), s41, &hf7537e82
  300. md5_ii d, a, b, c, x(k + 11), s42, &hbd3af235
  301. md5_ii c, d, a, b, x(k + 2), s43, &h2ad7d2bb
  302. md5_ii b, c, d, a, x(k + 9), s44, &heb86d391
  303. a = addunsigned(a, aa)
  304. b = addunsigned(b, bb)
  305. c = addunsigned(c, cc)
  306. d = addunsigned(d, dd)
  307. next
  308. md5 = lcase(wordtohex(a) & wordtohex(b) & wordtohex(c) & wordtohex(d))
  309. 'md5=lcase(wordtohex(b) & wordtohex(c)) 'i crop this to fit 16byte database password :d
  310. md5=ucase(md5)
  311. end function
  312. public function md5_16(smessage)
  313. m_lonbits(0) = clng(1)
  314. m_lonbits(1) = clng(3)
  315. m_lonbits(2) = clng(7)
  316. m_lonbits(3) = clng(15)
  317. m_lonbits(4) = clng(31)
  318. m_lonbits(5) = clng(63)
  319. m_lonbits(6) = clng(127)
  320. m_lonbits(7) = clng(255)
  321. m_lonbits(8) = clng(511)
  322. m_lonbits(9) = clng(1023)
  323. m_lonbits(10) = clng(2047)
  324. m_lonbits(11) = clng(4095)
  325. m_lonbits(12) = clng(8191)
  326. m_lonbits(13) = clng(16383)
  327. m_lonbits(14) = clng(32767)
  328. m_lonbits(15) = clng(65535)
  329. m_lonbits(16) = clng(131071)
  330. m_lonbits(17) = clng(262143)
  331. m_lonbits(18) = clng(524287)
  332. m_lonbits(19) = clng(1048575)
  333. m_lonbits(20) = clng(2097151)
  334. m_lonbits(21) = clng(4194303)
  335. m_lonbits(22) = clng(8388607)
  336. m_lonbits(23) = clng(16777215)
  337. m_lonbits(24) = clng(33554431)
  338. m_lonbits(25) = clng(67108863)
  339. m_lonbits(26) = clng(134217727)
  340. m_lonbits(27) = clng(268435455)
  341. m_lonbits(28) = clng(536870911)
  342. m_lonbits(29) = clng(1073741823)
  343. m_lonbits(30) = clng(2147483647)
  344. m_l2power(0) = clng(1)
  345. m_l2power(1) = clng(2)
  346. m_l2power(2) = clng(4)
  347. m_l2power(3) = clng(8)
  348. m_l2power(4) = clng(16)
  349. m_l2power(5) = clng(32)
  350. m_l2power(6) = clng(64)
  351. m_l2power(7) = clng(128)
  352. m_l2power(8) = clng(256)
  353. m_l2power(9) = clng(512)
  354. m_l2power(10) = clng(1024)
  355. m_l2power(11) = clng(2048)
  356. m_l2power(12) = clng(4096)
  357. m_l2power(13) = clng(8192)
  358. m_l2power(14) = clng(16384)
  359. m_l2power(15) = clng(32768)
  360. m_l2power(16) = clng(65536)
  361. m_l2power(17) = clng(131072)
  362. m_l2power(18) = clng(262144)
  363. m_l2power(19) = clng(524288)
  364. m_l2power(20) = clng(1048576)
  365. m_l2power(21) = clng(2097152)
  366. m_l2power(22) = clng(4194304)
  367. m_l2power(23) = clng(8388608)
  368. m_l2power(24) = clng(16777216)
  369. m_l2power(25) = clng(33554432)
  370. m_l2power(26) = clng(67108864)
  371. m_l2power(27) = clng(134217728)
  372. m_l2power(28) = clng(268435456)
  373. m_l2power(29) = clng(536870912)
  374. m_l2power(30) = clng(1073741824)
  375. dim x
  376. dim k
  377. dim aa
  378. dim bb
  379. dim cc
  380. dim dd
  381. dim a
  382. dim b
  383. dim c
  384. dim d
  385. const s11 = 7
  386. const s12 = 12
  387. const s13 = 17
  388. const s14 = 22
  389. const s21 = 5
  390. const s22 = 9
  391. const s23 = 14
  392. const s24 = 20
  393. const s31 = 4
  394. const s32 = 11
  395. const s33 = 16
  396. const s34 = 23
  397. const s41 = 6
  398. const s42 = 10
  399. const s43 = 15
  400. const s44 = 21
  401. x = converttowordarray(smessage)
  402. a = &h67452301
  403. b = &hefcdab89
  404. c = &h98badcfe
  405. d = &h10325476
  406. for k = 0 to ubound(x) step 16
  407. aa = a
  408. bb = b
  409. cc = c
  410. dd = d
  411. md5_ff a, b, c, d, x(k + 0), s11, &hd76aa478
  412. md5_ff d, a, b, c, x(k + 1), s12, &he8c7b756
  413. md5_ff c, d, a, b, x(k + 2), s13, &h242070db
  414. md5_ff b, c, d, a, x(k + 3), s14, &hc1bdceee
  415. md5_ff a, b, c, d, x(k + 4), s11, &hf57c0faf
  416. md5_ff d, a, b, c, x(k + 5), s12, &h4787c62a
  417. md5_ff c, d, a, b, x(k + 6), s13, &ha8304613
  418. md5_ff b, c, d, a, x(k + 7), s14, &hfd469501
  419. md5_ff a, b, c, d, x(k + 8), s11, &h698098d8
  420. md5_ff d, a, b, c, x(k + 9), s12, &h8b44f7af
  421. md5_ff c, d, a, b, x(k + 10), s13, &hffff5bb1
  422. md5_ff b, c, d, a, x(k + 11), s14, &h895cd7be
  423. md5_ff a, b, c, d, x(k + 12), s11, &h6b901122
  424. md5_ff d, a, b, c, x(k + 13), s12, &hfd987193
  425. md5_ff c, d, a, b, x(k + 14), s13, &ha679438e
  426. md5_ff b, c, d, a, x(k + 15), s14, &h49b40821
  427. md5_gg a, b, c, d, x(k + 1), s21, &hf61e2562
  428. md5_gg d, a, b, c, x(k + 6), s22, &hc040b340
  429. md5_gg c, d, a, b, x(k + 11), s23, &h265e5a51
  430. md5_gg b, c, d, a, x(k + 0), s24, &he9b6c7aa
  431. md5_gg a, b, c, d, x(k + 5), s21, &hd62f105d
  432. md5_gg d, a, b, c, x(k + 10), s22, &h2441453
  433. md5_gg c, d, a, b, x(k + 15), s23, &hd8a1e681
  434. md5_gg b, c, d, a, x(k + 4), s24, &he7d3fbc8
  435. md5_gg a, b, c, d, x(k + 9), s21, &h21e1cde6
  436. md5_gg d, a, b, c, x(k + 14), s22, &hc33707d6
  437. md5_gg c, d, a, b, x(k + 3), s23, &hf4d50d87
  438. md5_gg b, c, d, a, x(k + 8), s24, &h455a14ed
  439. md5_gg a, b, c, d, x(k + 13), s21, &ha9e3e905
  440. md5_gg d, a, b, c, x(k + 2), s22, &hfcefa3f8
  441. md5_gg c, d, a, b, x(k + 7), s23, &h676f02d9
  442. md5_gg b, c, d, a, x(k + 12), s24, &h8d2a4c8a
  443. md5_hh a, b, c, d, x(k + 5), s31, &hfffa3942
  444. md5_hh d, a, b, c, x(k + 8), s32, &h8771f681
  445. md5_hh c, d, a, b, x(k + 11), s33, &h6d9d6122
  446. md5_hh b, c, d, a, x(k + 14), s34, &hfde5380c
  447. md5_hh a, b, c, d, x(k + 1), s31, &ha4beea44
  448. md5_hh d, a, b, c, x(k + 4), s32, &h4bdecfa9
  449. md5_hh c, d, a, b, x(k + 7), s33, &hf6bb4b60
  450. md5_hh b, c, d, a, x(k + 10), s34, &hbebfbc70
  451. md5_hh a, b, c, d, x(k + 13), s31, &h289b7ec6
  452. md5_hh d, a, b, c, x(k + 0), s32, &heaa127fa
  453. md5_hh c, d, a, b, x(k + 3), s33, &hd4ef3085
  454. md5_hh b, c, d, a, x(k + 6), s34, &h4881d05
  455. md5_hh a, b, c, d, x(k + 9), s31, &hd9d4d039
  456. md5_hh d, a, b, c, x(k + 12), s32, &he6db99e5
  457. md5_hh c, d, a, b, x(k + 15), s33, &h1fa27cf8
  458. md5_hh b, c, d, a, x(k + 2), s34, &hc4ac5665
  459. md5_ii a, b, c, d, x(k + 0), s41, &hf4292244
  460. md5_ii d, a, b, c, x(k + 7), s42, &h432aff97
  461. md5_ii c, d, a, b, x(k + 14), s43, &hab9423a7
  462. md5_ii b, c, d, a, x(k + 5), s44, &hfc93a039
  463. md5_ii a, b, c, d, x(k + 12), s41, &h655b59c3
  464. md5_ii d, a, b, c, x(k + 3), s42, &h8f0ccc92
  465. md5_ii c, d, a, b, x(k + 10), s43, &hffeff47d
  466. md5_ii b, c, d, a, x(k + 1), s44, &h85845dd1
  467. md5_ii a, b, c, d, x(k + 8), s41, &h6fa87e4f
  468. md5_ii d, a, b, c, x(k + 15), s42, &hfe2ce6e0
  469. md5_ii c, d, a, b, x(k + 6), s43, &ha3014314
  470. md5_ii b, c, d, a, x(k + 13), s44, &h4e0811a1
  471. md5_ii a, b, c, d, x(k + 4), s41, &hf7537e82
  472. md5_ii d, a, b, c, x(k + 11), s42, &hbd3af235
  473. md5_ii c, d, a, b, x(k + 2), s43, &h2ad7d2bb
  474. md5_ii b, c, d, a, x(k + 9), s44, &heb86d391
  475. a = addunsigned(a, aa)
  476. b = addunsigned(b, bb)
  477. c = addunsigned(c, cc)
  478. d = addunsigned(d, dd)
  479. next
  480. 'md5 = lcase(wordtohex(a) & wordtohex(b) & wordtohex(c) & wordtohex(d))
  481. md5_16=lcase(wordtohex(b) & wordtohex(c)) 'i crop this to fit 16byte database password :d
  482. md5_16=ucase(md5_16)
  483. end function
  484. %>
  485. 调用使用下面的方法
  486. <%
  487. password="123456"
  488. response.write MD5(password)
  489. %>
复制代码

所以“123456”md5加密后就是下面的一段代码:
E10ADC3949BA59ABBE56E057F20F883E

所以你只要把数据库里面的密码字段的内容用上面的一串代码代替,明文密码就改成了“123456”了 ,你就可以用123456登入了,然后再修改你想要改成的密码。
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-7 07:46:20 | 只看该作者
www.cmd5.com
当然网络上还有很多的md5在线查询破解程序。
更加的迅速~~
你只需要把加密后的代码输入到查询框中,点击查询就可以看到明文密码了。。
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-7 07:46:23 | 只看该作者
谢谢各位了 
 我去网上找到了 成功!!!
 谢谢~~
 
回复 支持 反对

使用道具 举报

6#
发表于 2010-3-4 23:05:04 | 只看该作者
【加油!金顺】在奥斯卡上一连拿了11个奖项的好帖
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 12:26 , Processed in 0.097954 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表