`

地址栏加密解密

阅读更多
引用


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);
	}
}


分享到:
评论

相关推荐

    URL参数加密解密,URL参数加密解密

    URL参数加密解密;使用简便;URL参数加密解密;使用简便;URL参数加密解密;使用简便;URL参数加密解密;使用简便;

    .net地址栏传值加密例子

    在.NET开发中,为了保护用户数据的安全,我们经常需要对地址栏传递的参数进行加密处理。这主要是因为URL中的参数是明文传输的,容易被嗅探或篡改,从而可能导致敏感信息泄露。本示例将详细介绍如何在.NET环境下,...

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

    在上述描述中,提到了一个具体的加密解密基类`Security`,它使用了DES(Data Encryption Standard)加密算法来处理URL传输的参数。DES是一种对称加密算法,它使用相同的密钥进行加密和解密。在这个例子中,类中定义...

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

    在ASP.NET框架中,我们可以利用内置的加密解密工具来实现这一功能。以下是一些关于如何在ASP.NET中进行URL参数加密和解密的关键知识点: 1. **加密需求**:在URL中传递敏感信息时,如用户ID、搜索查询或任何个人...

    将待加密或待解密文件拖入框内,或双击地址框选择待加密或待解密文件,然后输入一级/二级密码,点击加密或者解密即可 加密后的文件扩展

    用户可以通过将文件直接拖放到指定的界面区域,或者通过双击地址栏来选择需要处理的文件。这种方法非常直观,适合电脑操作不熟练的用户。关键步骤包括: 1. **选择文件**:用户可以选择任意需要加密或解密的文件,...

    风吟PHP Escape 加密/解密.rar

    1. **URL安全性**:在URL中传递敏感信息时,必须先加密,因为URL是可见的,任何人都可以通过浏览器的地址栏看到。风吟PHP Escape可以有效地保护这些信息不被轻易获取。 2. **中文数据传输**:中文字符在传输过程中...

    c# 加密和解密相关代码

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

    php实现URL加密解密的方法

    URL(统一资源定位符)通常会暴露在浏览器地址栏中,如果其中包含敏感信息,比如用户ID、密码或查询参数,那么这些信息可能被第三方截取,造成信息安全风险。因此,对URL进行加密可以保护这些数据不被轻易解析和篡改...

    加密解密第三版第二章

    ### 加密解密第三版第二章知识点解析 #### 一、动态分析技术概述 动态分析技术是一种用于理解和分析软件运行时行为的技术手段。通过这种方式,安全研究人员和开发人员能够深入研究程序的行为,检测潜在的安全漏洞...

    PGP加密及签名实验

    * 收到邮件打开后,选中加密邮件后选择复制,打开 Open PGP Desktop,在菜单中选择 PGPmail,在 PGPmail 中选择解密/效验,在弹出的“选择文件并解密/效验”对话框中选择剪贴板,将要解密的邮件内容复制到剪贴板中 ...

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

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

    获取加密后的value

    该类可能会包含如`EncryptValue(string plainText)`和`DecryptValue(string cipherText)`这样的方法,它们分别用于加密和解密数据。 `EncryptValue`方法通常会使用一个加密算法(如AES、RSA等)和一个密钥来将明文...

    CTFcrackTools(CTF比赛解密工具) V2.1.rar

    CTF(Capture The Flag)比赛是网络安全领域的一种竞赛形式,其中涉及到各种解密、加密、逆向工程等技术挑战。"CTFcrackTools"是一款专门为CTF比赛设计的解密工具,它集成了多种解码方式,帮助参赛者解决比赛中遇到...

    密码算法关于QQ空间解密

    5. **访问图片**:将找到的链接复制到IE的地址栏,按Enter键,理论上应该能够加载出加密相册的图片。 这个方法依赖于浏览器的缓存机制和XML文件的结构,但值得注意的是,腾讯很可能已经对这一漏洞进行了修复,或者...

    XP系统文件夹加密

    用户可以直接通过地址栏输入`d:\lj\folder settings\folder.htt`(假设加密文件夹为d:\lj)来打开设置文件。找到并删除或修改设置密码的JavaScript代码,然后就可以用记住的密码轻松访问加密文件夹。 需要注意的是...

    ip-guard加密安全网关使用说明

    IP-guard能够实现在特定条件下的加密文件传输,即上传至服务器时自动解密,从服务器下载时自动加密。同时,只有安装了指定客户端并开启了安全通讯功能的设备才能访问受保护的服务器。 #### 二、工作原理及功能 ###...

    解密网页加密的两个方法

    在探讨网页加密解密的过程中,我们首先需要明确,网页加密主要是为了保护网页内容不被轻易查看或复制,常见于保护网站代码、防止爬虫抓取等情况。但是,出于学习和研究的目的,有时需要对加密的网页进行解密。在本篇...

    数据加密传输

    2. 绿色锁标识:浏览器地址栏显示的小锁图标和“https”表示当前连接是安全的,数据传输被加密。 四、加密传输的应用场景 1. 在线购物:确保信用卡信息和其他敏感财务数据的安全传输。 2. 邮件服务:加密电子邮件,...

    2020最新阿狸子V2.9订单管理系统源码PHP解密及上线权限授权

    `alizi.ico`是网站的图标文件,展示在浏览器地址栏和书签中。`index.php`是网站的入口文件,通常负责调度其他PHP脚本。`alizi.php`可能是系统的核心控制器或初始化文件。`安装必读.txt`包含系统安装的指南和注意事项...

Global site tag (gtag.js) - Google Analytics