`

地址栏加密解密

阅读更多
引用


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代码,然后就可以用记住的密码轻松访问加密文件夹。 需要注意的是...

    解密网页加密的两个方法

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

    数据加密传输

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

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

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

    关于加密解密 Base64 and URL and Hex Encoding and Decoding

    ### 关于加密解密:Base64、URL及Hex编码与解码 #### 一、引言 在本文中,我们将深入探讨几种常见的数据编码方式:Base64、URL编码和Hex(十六进制)编码及其对应的解码过程。这些编码技术在Web开发和其他IT领域中...

Global site tag (gtag.js) - Google Analytics