`

地址栏加密解密

阅读更多
引用


package com.java.unit;

import java.io.ByteArrayOutputStream;

public class StringUtil {
	private static final String VERIABLY = 
		"abcdefghijklmnopqrstuvwxyz"+
		"ABCDEFGHIJKLMNOPQRSTUVWXYZ"+
		".-*_";
	public static String urlEncode(
			String s, String charset) throws Exception {
		// abc
		byte[] bytes = 
			s.getBytes(charset);
		StringBuilder sb = new StringBuilder();		
		outer:
		for(int i=0;i<bytes.length;i++) {
			byte b = bytes[i];
			if(b == ' ') {
				sb.append('+');
				continue outer;
			}
			for(int j=0;j<VERIABLY.length();j++) {
				if(VERIABLY.charAt(j) == b) {
					sb.append((char) b);
					continue outer;
				}
			}			
			String hex = Integer.toHexString(b&0x000000ff);
			if(hex.length() == 1) hex = '0'+hex;
			hex = '%'+hex;
			sb.append(hex);			
		}
		return sb.toString();
	}
	
	public static String urlDecode(String s,String charset) throws Exception {
		ByteArrayOutputStream out = 
			new ByteArrayOutputStream();
		
		for(int i=0;i<s.length();i++) {
			char c = s.charAt(i);
			if(c == '%') {
				// %f8
				String hex = "";
				hex += s.charAt(++i);
				hex += s.charAt(++i);
				int n = Integer.parseInt(hex, 16);
				out.write(n);
			} else {
				if(VERIABLY.indexOf(c) != -1) {
					out.write(c);
					continue;
				}
				if('+' == c) {
					out.write(' ');
					continue;
				}
			}
		}
		byte[] data = out.toByteArray();
		return new String(data,charset);
	}
	
	public static void main(String[] args) throws Exception {
		String s = urlEncode("游戏","UTF-8");
		System.out.println(s);
		
		s = urlDecode("%e6%b8%b8%e6%88%8f", "UTF-8");
		System.out.println(s);
	}
}


分享到:
评论

相关推荐

    WEB 系统中加密解密URL传输参数

    网上很多人在问怎么实现Web系统URL传输(表单提交)参数加密。例如:要进行一个用户帐号编辑,要传递用户的ID,URL如下:http://localhost/mysystem/editAccounts.aspx?ID=2  但又不想让别人知道这个用户的ID为2,恶意...

    URL传递过程中的加密,解密

    解决URL传输过程中得加密,解密问题,无论多少个参数,地址栏上显示的只有一个经过加密得URL,到达客户端再解密成多个参数值,同时可以解密字符串,加密字符串

    ASP.NET url参数传递加密及解密方法

    微软自己本身的加密及解密对象及方法,方便供广大的开发人员的使用!

    c# 加密和解密相关代码

    图19.3 使用ROT13算法加密解密数据 关 键技术 本实例实现时,主要是用Convert 类的ToChar 方法来获取单个字符的Unicode 编码,然后将字母的前13 个和后13 个对调,从而实现加密的功能。下面对Convert类的ToChar 方法...

    亲测可用 免费软件 宏杰文件夹加密 V2818

    宏杰文件夹加密软件介绍【概括介绍】 专业的、永久免费的文件加密软件、文件夹加密...4、在IE地址栏内输入关键子即可实现百度、谷歌快速搜索。 【更新日志】 宏杰文件夹加密 V2818 增加了功能强度大的浏览解密功能

    密码助手v1.37

    2.base64分普通和迅雷地址 3.修改部分细节 4.修复进制BUG 密码助手v1.3 1.添加base64 2.修改部分细节 密码助手v1.24 1.修复莫斯解密BUG 密码助手v1.2.3 1.修复单表替换大写字母出错 密码助手v1.2.2 1.修复一BUG ...

    vc++ 应用源码包_1

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    零:超级实用,无敌有趣,发帖聊天必备的浏览器加密插件,支持Google Chrome以及最新Edge浏览器

    在Chrome的地址栏输入: chrome:// extensions / 。 点击加载已解压项目按钮,选择项目目录下的chrome_dir文件夹。 如何使用? 插件设置 点击Chrome右上角的插件按钮,固定MakeZero插件。如果熟悉插件使用可省略该...

    新版海螺影视主题模板M3.1全解密版本多功能苹果CMSv10后台自适应主题

    免 SG11 加密,无需装置 SG11 扩展 全新 UI 界面 功用齐全 无 BUG 无后门 一切前台页面均可后台控制 含深色淡色主题设置 视频数据搜索支持联想搜索 幻灯片引荐位自定义设置,支持分类单独设置幻灯片 添加优化...

    C#常用公共类源码(100多个)可以直接使用.rar

    ,加密解密,压缩解压缩,各种验证帮助类,图片,图片操作类,图片验证码,处理多媒体的公共类,处理枚举类,字符串,对象转换处理,帮助文档,序列化,异步线程,弹出消息类 ,数据展示控件绑定数据类,文件操作类,日历,日志,时间戳...

    url中文字符解码

    通过URLEncoder.encode加密地址栏url上得中文字符, 并可通过java.net.URLDecoder.decode(str, charset)解密中文

    Android开发人员不得不收集的代码

    加密解密相关→EncryptUtils.java→Test MD2加密 encryptMD2ToString encryptMD2 MD5加密 encryptMD5ToString encryptMD5 SHA1加密 encryptSHA1ToString encryptSHA1 SHA224加密 encryptSHA224ToString encryptSHA...

    第二章 04修改标题栏图标

    课程包括十四个部分,分别介绍Qt的编程环境、窗体应用、控件应用、组件应用、文件操作、图形图像操作、多媒体应用、对系统操作、对注册表操作、数据库应用,网络应用开发、进程与线程应用、数据的加密与解密以及Qt...

    佛易-crx插件

    语言:中文 (简体) 三倍速参悟佛曰的真理 快速加密解密佛曰的真理。点击地址栏旁的图标或者选中文字并右键即可一键加密/解密,省去搜索/打开网页的烦恼。调用keyfc提供的API, 加密器原作者蓝色的风之精灵。

    C#程序开发范例宝典(第2版).part13

    实例225 使用ROT13加密解密文件 314 6.7 其他 315 实例226 获取窗口文本 315 实例227 判断文件是否正在被使用 316 实例228 在程序中调用.HLP文件 317 实例229 C#中实现文件拖放 317 实例230 文件比较 318 ...

    多多淘宝客v7.4破解02月08日更新

    2、在地址栏内输入http://您的网址/install按提示安装即可。 3、后台登陆地址:http://您的网址/admin/login.php ========== 功能说明: 1、各大B2C网站的返利。如:当当、凡客、乐淘、V+等网址返利,自动跟单...

    易语言700模块打包

    加密解密文本(1.0).zip 加强执行(1.0).zip 加解密文本(1.1).zip 加载进度条v1.0(1.0).zip 加载进度条v2.0(1.0).zip 加密并压缩文件夹(1.0).zip 禁止多次运行程序(1.0).zip 进度下载模块(2.0).zip 禁止程序二...

    超级多的C#辅助类大全

    29. QueryString 地址栏参数 30. RDLC直接打印帮助类 31. ResourceManager 32. RMB 33. SqlHelper 34. SQL语句拦截器 35. URL的操作类 36. VerifyCode 37. XML操作类 38. 上传下载 39. 二维码操作类 40. ...

Global site tag (gtag.js) - Google Analytics