QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1973|回复: 0
打印 上一主题 下一主题

利用URL编码进行加密 [源码]

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com) : a  n! Y. g+ q" @9 i6 `2 S
QQ:5538313 2 f, }/ h$ z7 _; M0 R) a8 C+ k8 e
日期: 18/04/2002
; k; i. ]/ W/ o# k7 [' ?4 V" U* S
, L) W' A  F/ _3 M% U2 i
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品. - I- q- @  |5 B" ?
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
. L# O3 x! X- Y5 r. o3 J4 X7 _) v  W; k- r# K) }2 q& @7 {7 P5 Q
''encode - 转成16进制符 6 _7 C, ~' C$ W  u* R8 G+ u" i

; G) ?+ a7 `8 a8 U  m( k% aFor i = 1 To Len(strIN)
0 T( h  z% l* D- w) Ys = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~ 4 r$ j0 h. L$ l0 @7 y9 r
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 ; D+ U" z$ B7 }
strOUT = strOUT & "%" & s 4 R1 Z$ E" n. W+ b" }1 ?
Next i
2 g8 [9 p) b' S% O! ~( S6 |$ Z& i9 i  a! ^0 A/ W
txtOUT.Text = strOUT ''这里就是输出了
8 O9 B+ Z6 f, [3 q/ x3 @" R___________________________________________________________ ! }7 }/ ?2 \  L7 {8 C

( b7 b8 F5 N3 Z- i2 g''decode - 解码, 比较麻烦点 . E' D0 q* ^3 ~' g+ x( ?# c# [
. a: N, d4 Z/ {$ W( q0 t
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符 & E2 U) w/ j1 s+ u6 t
s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字 ( l3 ]  m: c0 B  v- l$ |' W
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字 0 p- h+ f8 u$ P3 _. E  J6 @0 r

$ h) Q- \& @7 C+ L0 m( E) nSelect Case s1 '' 进制转换 8 ^* o  D- j5 V& `* }' e, L: h
Case "A" To "F"
+ L2 U) Q* F5 F  A: Y1 H/ R" M& Nn = (10 + 5 - (Asc("F") - Asc(s1))) * 16 $ W" N8 x* ]0 N6 Q. H
Case Else
8 T) {0 Q% s( l" a, En = Val(s1) * 16 & ]7 T! e" {$ ]6 @
End Select
$ u# Q- U, f; H$ O) c$ h! l+ O- ^. g! [/ L; g# {
Select Case s2
0 T8 B2 q& _/ a% V$ Q3 O7 Z/ m4 ~Case "A" To "F"
. V( i4 f! n1 s) wn = n + (10 + 5 - (Asc("F") - Asc(s2))) % K. n/ N# d3 o6 e/ P1 N* ~
Case Else
! C8 g4 J" M( x  `1 ?n = n + Val(s2) 5 f1 I1 P8 l( D+ S" ^
End Select
) H0 D  H* A' y" I8 @7 p6 h, k2 c) O  c; S: M# N
s = ChrW$(n) '' 转为字符 + _8 w2 ?2 e" \0 R
strOUT = strOUT & s
0 k9 z$ }6 Q4 m' D0 @. gNext i 7 k' f% O6 w0 B2 J9 v
txtOUT.Text = strOUT
0 J% x6 k' J+ N7 o8 ]1 J% t9 y% Z
. u( A: @/ T# p: n  ~3 a1 ^( S9 M% X# E& R/ _8 e- u4 ?. s
程序下载: http://apower.uhome.net/download/encoder.zip ! |  P' ~, o; Y% P7 m7 s( w
http://members.rogers.com/tdl/encoder.zip.  
1 n) T3 p* `! ^5 y( t1 x6 y
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    3 W* U, m8 [4 K* |1 [
  2. \" o. D* G2 Y# i
  3. <script>
复制代码
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-8-27 09:28 , Processed in 0.267826 second(s), 52 queries .

回顶部