QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com)
3 y8 k4 a2 B% g5 n8 S% xQQ:5538313
& a! d( ?+ N3 G" \& C% D/ ~6 _& r日期: 18/04/2002 ) Y( y( u( b0 h

( G$ i2 u: i5 `4 q' `$ s
7 B9 _9 f# y1 i刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
2 D$ A3 x4 \6 E' d( x其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分: / O7 _. C1 j( S/ m+ p

' D6 }8 s0 p4 Z& ^; z. o''encode - 转成16进制符
+ S" ~$ d, [" C; q% z3 ^% t8 W( n6 W3 f1 A( v* [
For i = 1 To Len(strIN) , E2 W/ s2 y( ^, j! t
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~ ; C0 J* S! D! S" ]- i
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
, ~' J9 O! z: b  p# v1 L4 qstrOUT = strOUT & "%" & s
* ^8 t1 V- q/ Z8 UNext i ; q, h# T+ X& t7 `; t
! d$ c) B" r/ e4 Y- n7 @$ K
txtOUT.Text = strOUT ''这里就是输出了 ( L  Z2 J& m$ o/ d
___________________________________________________________ 8 F' Q3 n3 g) ^8 @2 s$ j% V+ L' s% I
9 c* g2 V3 U, V' G4 e% F/ b
''decode - 解码, 比较麻烦点 6 {; f; S. x. ~' Z  f/ R/ K
$ |3 N3 [+ S0 P8 s2 L! x. r
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
- m9 l- w/ r& G; l3 [+ qs1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
* t0 s9 j) q; ~2 M+ A2 ]s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字 * u! {3 K3 s7 c- ?- i* Q5 A

& e4 P& Q3 ~8 m. I5 `/ nSelect Case s1 '' 进制转换
! l! j- p" l" }% i- m! d  N2 \4 d' ECase "A" To "F"
( x; h. y$ _5 U) Z" y% hn = (10 + 5 - (Asc("F") - Asc(s1))) * 16 1 K! a  K9 S& [: R% O# Q
Case Else 9 ]  ?$ R% O! I7 G9 D3 T) M, @: g5 k
n = Val(s1) * 16 1 i6 G; ?- m' j  V) F
End Select
1 C% Q7 o1 W; i, X4 U2 ~% p/ q7 t; _1 K$ X$ i& N
Select Case s2 ) H4 z" ?7 W; @( S
Case "A" To "F"
- @+ U- n: O( H+ p4 A3 rn = n + (10 + 5 - (Asc("F") - Asc(s2)))   e1 j  `. L/ W
Case Else . }$ ~8 z; x: S% t. c
n = n + Val(s2)
5 A. k0 u: q! F' V; C+ I& W3 LEnd Select
# T' k2 u0 p2 M7 S
5 B/ Y% T( M$ a$ c# v& Ws = ChrW$(n) '' 转为字符 3 B9 u6 X( a3 u! Z: u& {
strOUT = strOUT & s
4 ]1 g+ p" n* W% e4 ~! f. q3 z( pNext i + M3 B1 u% j3 t) t- X
txtOUT.Text = strOUT * j. W; _5 g6 q9 O1 r% L
+ C  i, u9 B* }' o7 I; T
2 W: F5 J' a0 j9 X; g0 e
程序下载: http://apower.uhome.net/download/encoder.zip , u7 R: _% V* a/ u# i
http://members.rogers.com/tdl/encoder.zip.  7 m! m, z8 l* S6 k! }# R/ s5 m
  1. <SCRIPT language=javascript src="../scripts/recommend.js">* |: _- I# o' K2 V7 U

  2. ! x/ W4 n/ B; R2 P: @6 Y* K9 L
  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-6-11 08:48 , Processed in 0.860892 second(s), 52 queries .

回顶部