QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com)
* W+ }" ?# T# @' k, R, p* RQQ:5538313 . v% b2 U1 ]: o7 A6 k
日期: 18/04/2002 5 q4 P" t* v9 Q
1 x6 z) l9 ~3 p: H$ }6 r! q; W
1 |- s% L' v; S! Y& v' l* {7 _
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
! Y6 J! i; D7 \  P' ~其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
& [. q( _% K. t! t+ v2 m: p/ \- R1 q5 B
''encode - 转成16进制符 0 r! V( v  Y+ l  N, k. z) P0 z9 m

  ?- Y1 m* x- P' FFor i = 1 To Len(strIN)
4 ^$ J9 w4 j8 e8 As = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
- D. G5 m0 Q3 XIf Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 7 ~$ }1 p  v& b
strOUT = strOUT & "%" & s
3 ^/ {: ^) l- e+ e# p) ?+ u: n5 Q0 hNext i ; ]9 m1 |8 B1 I0 C+ {/ {* L. Z7 P

# [2 z$ F/ M' w* w+ w& AtxtOUT.Text = strOUT ''这里就是输出了 1 a3 k4 A& c) \9 G% ]# j
___________________________________________________________ + I$ L& f- v+ d5 P* f
( e, _8 T4 C# h* `) U
''decode - 解码, 比较麻烦点
" Q. k0 P' t: E# |2 F5 X5 d" [+ q- Q* R
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符 8 ~7 t! r3 d& `! N5 t
s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
3 R& T7 }$ u5 o) k7 w. B% ts2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字 9 A! H3 O0 s) ]8 h3 E0 c
! q* q# E: G3 h6 L
Select Case s1 '' 进制转换 3 n. n( t5 A+ d# Q7 x8 i
Case "A" To "F" . e3 T& I0 z, _4 T7 {& H
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16 0 N* R$ M' A, T( N8 M5 w
Case Else 3 i% G; ~$ C" S* T2 a' E! o: R
n = Val(s1) * 16 4 A5 [6 G- ~8 B+ ]5 s: @5 T. n1 o+ }& U
End Select ' p6 B2 r. k! \8 a. V

+ m; a. [1 x( x( L! PSelect Case s2
% ]; M. n: h9 ?) A9 q- XCase "A" To "F" 0 J. t9 U% U. B8 y2 L9 i! Z3 N
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
% a0 T+ ?% x  g  X/ aCase Else " g" G: Q! ^% J8 U8 G5 m
n = n + Val(s2) 0 ^4 _5 }6 R2 K' u$ ]1 D
End Select
5 t0 R" ^  z8 y0 @! r: m; X5 t8 L! g# [& t, n; b
s = ChrW$(n) '' 转为字符
% l0 A. N: N4 `strOUT = strOUT & s
6 B! |, H) p6 N3 X% v' JNext i " w2 t  t9 z7 j  `
txtOUT.Text = strOUT * B) w. P$ @" z. Y% U4 X; L! z( g

3 A0 J5 X7 G' Q- j! X! M
; d2 y: s, r) L' h: e程序下载: http://apower.uhome.net/download/encoder.zip 1 Y* y! a" S+ a7 J( R5 {
http://members.rogers.com/tdl/encoder.zip.  ! u2 J# M. \$ |' s4 u
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    9 [4 y4 p8 t/ [& v( D
  2. ( N$ o+ x0 d$ g9 z* h4 G
  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-14 03:26 , Processed in 0.428985 second(s), 52 queries .

回顶部