`
gym_1119
  • 浏览: 53084 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

url加密参数 (java版)

阅读更多
<!---->**

*加密解密类
*
*
*
*/
package?com.abacus.common?;
import?java.security.?*;
import?javax.crypto.?*;
/**
*加密解密类

*/
public?class?Eryptogram?
{
????
private?static?String?Algorithm?="DES";
????
//定义加密算法,可用DES,DESede,Blowfish
  ?????static?boolean?debug?=false?;
????
/**
????*构造子注解.
????
*/
????
public?Eryptogram?()
????{
????}
????
/**
????*生成密钥
????*@returnbyte[]返回生成的密钥
????*@throwsexception扔出异常.
????
*/
????
public?static?byte?[]getSecretKey?()throws?Exception?
????{
????????KeyGenerator?keygen?
=KeyGenerator.getInstance?(Algorithm?);
????????SecretKey?deskey?
=keygen.generateKey?();
????????
if?(debug?)System.out.println?("生成密钥:"+byte2hex?(deskey.getEncoded?()));
????????
return?deskey.getEncoded?();
????}
????
/**
????*将指定的数据根据提供的密钥进行加密
????*@paraminput需要加密的数据
????*@paramkey密钥
????*@returnbyte[]加密后的数据
????*@throwsException
????
*/
????
public?static?byte?[]encryptData?(byte?[]input?,byte?[]key?)throws?Exception?
????{
????????SecretKey?deskey?
=new?javax.crypto.spec.SecretKeySpec?(key?,Algorithm?);
????????
if?(debug?)
????????{
????????????System.out.println?(
"加密前的二进串:"+byte2hex?(input?));
????????????System.out.println?(
"加密前的字符串:"+new?String?(input?));
????????}
????????Cipher?c1?
=Cipher.getInstance?(Algorithm?);
????????c1.init?(Cipher.ENCRYPT_MODE?,deskey?);
????????
byte?[]cipherByte?=c1.doFinal?(input?);
????????
if?(debug?)System.out.println?("加密后的二进串:"+byte2hex?(cipherByte?));
????????
return?cipherByte?;
????}
????
/**
????*将给定的已加密的数据通过指定的密钥进行解密
????*@paraminput待解密的数据
????*@paramkey密钥
????*@returnbyte[]解密后的数据
????*@throwsException
????
*/
????
public?static?byte?[]decryptData?(byte?[]input?,byte?[]key?)throws?Exception?
????{
????????SecretKey?deskey?
=new?javax.crypto.spec.SecretKeySpec?(key?,Algorithm?);
????????
if?(debug?)System.out.println?("解密前的信息:"+byte2hex?(input?));
????????Cipher?c1?
=Cipher.getInstance?(Algorithm?);
????????c1.init?(Cipher.DECRYPT_MODE?,deskey?);
????????
byte?[]clearByte?=c1.doFinal?(input?);
????????
if?(debug?)
????????{
????????????System.out.println?(
"解密后的二进串:"+byte2hex?(clearByte?));
????????????System.out.println?(
"解密后的字符串:"+(new?String?(clearByte?)));
????????}
????????
return?clearByte?;
????}
????
/**
????*字节码转换成16进制字符串
????*@parambyte[]b输入要转换的字节码
????*@returnString返回转换后的16进制字符串
????
*/
????
public?static?String?byte2hex?(byte?[]b?)
????{
????????String?hs?
="";
????????String?stmp?
="";
????????
for?(int?n?=0?;n?<b.length?;n?++)
????????{
????????????stmp?
=(java.lang.Integer.toHexString?(b?[n?]&0XFF?));
????????????
if?(stmp.length?()==1?)hs?=hs?+"0"+stmp?;
????????????
else?hs?=hs?+stmp?;
????????????
if?(n?<b.length?-1?)hs?=hs?+":";
????????}
????????
return?hs.toUpperCase?();
????}
????
public?static?void?main?(String?[]args?)
????{
????????
try?
????????{
????????????debug?
=false?;
????????????Eryptogram?etg?
=new?Eryptogram?();
????????????
byte?[]key?=etg.getSecretKey?();
????????????System.out.println?(
"key="+key?);
????????????String?aa?
="1234567";
????????????
byte?[]data?=aa.getBytes?();
????????????System.out.println?(data?);
????????????
byte?[]en?=etg.encryptData?(data?,key?);
????????????System.out.println?(
"encryptData="+new?String?(en?));
????????????
byte?[]de?=etg.decryptData?(en?,key?);
????????????System.out.println?(
"decryptData="+new?String?(de?));
????????}
????????
catch?(Exception?e?)
????????{
????????????e.printStackTrace?();
????????}
????}
}


礼物 2008-12-18 08:51 发表评论
分享到:
评论

相关推荐

    Java实现url加密处理的方法示例

    Java中的URL加密处理是网络安全传输数据的一个重要环节,它可以防止敏感信息在传输过程中被窃取或篡改。本文将深入探讨如何使用Java实现URL加密,特别是基于Base64编码和编码转换的方式。我们将重点关注以下几个方面...

    URL参数加密解密(java版)

    在Java开发中,URL参数加密解密是网络安全的重要环节,特别是在J2EE应用程序中,确保数据传输的安全性至关重要。URL参数通常包含用户敏感信息,如登录凭证、交易详情等,因此需要进行加密处理以防止数据在传输过程中...

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

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

    java 版Url转换工具,可得到真实的URL

    Java URL转换工具是一种用于解析和处理URL的程序,它能够帮助开发者获取URL背后的真实地址,尤其是在面对重定向、参数编码等情况时。在Web开发中,URL(Uniform Resource Locator)是互联网资源的统一地址,它包含了...

    java接口 参数MD5加密.zip

    - 客户端发送包含加密参数的请求到服务器。 - 服务器接收到请求后,解密参数并进行合法性检查。 - 如果参数校验通过,服务器执行相应业务逻辑,否则返回错误信息。 - 服务器将处理结果返回给客户端,客户端接收...

    Spring MVC请求参数与响应结果全局加密和解密详解

    Spring MVC请求参数与响应结果全局加密和解密详解 在本文中,我们将详细介绍Spring MVC请求参数与响应结果全局加密和解密的相关知识点,包括请求参数的加密和解密、响应结果的加密和解密、ContentType的处理等。 ...

    post参数加密请求.rar

    3. **加密参数**:使用Java的加密库对参数进行加密,得到密文。 4. **Base64编码**:将加密后的密文进行Base64编码,以便在网络上传输。 5. **构造请求体**:将Base64编码后的密文放入请求体中。 6. **设置请求头**...

    AES加密url

    在这个实例中,可能是在URL中包含了一些敏感信息,如API密钥或个性化参数,为了防止这些信息在传输过程中被窃取或篡改,作者使用了AES来加密URL。 首先,我们来看AES加密的基本原理。AES是一种分组密码,它将明文...

    java密码加密解密算法代码实现

    例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码...

    android实现登录并且加密url

    6. **URL加密**:在某些情况下,URL中可能包含敏感信息,如查询参数。这些信息可以使用相同的方法(如AES)加密后再放入URL中。但要注意,URL只能包含可打印的ASCII字符,所以加密后的结果可能需要进行Base64编码以...

    java修改请求参数

    这些数据通常以请求参数的形式存在,例如URL查询参数、POST表单数据等。在某些情况下,我们可能需要在服务器端动态地修改这些参数,以实现特定的功能或者应对安全问题。本文将详细探讨如何在Java中修改请求参数,...

    短信URL接口参数说明.rar

    4. **签名(Signature)**:为确保数据安全,服务提供商可能会要求提供一个签名,通常是通过特定算法(如HMAC-SHA256)对其他参数和私钥进行加密得到的值。 5. **回调URL(Callback URL)**:当短信发送成功或失败...

    Java Http请求传json数据乱码问题的解决

    在实际解决乱码问题的过程中,如果发现使用Base64加密传输中文数据还会出现问题,可以改用URL编码的方式来传输数据,即使用JavaScript的`encodeURI`函数对数据进行两次URL编码,后端接收到后进行一次URL解码即可。...

    java使用HttpClient通过url下载文件到本地

    - **构建HttpGet请求**:使用`HttpGet`类创建一个HTTP GET请求,指定要下载的URL作为参数。 - **设置请求头**(可选):如果URL需要身份验证或其他特定头信息,可以通过`setHeader()`方法添加。 - **执行请求**:...

    jsp加密解密问题.rar

    6. **源代码示例**:在提供的"aa"文件中,可能包含了一段使用Java和JSP实现的URL参数加密解密的代码。通过分析这段代码,我们可以学习如何在实际项目中应用这些加密解密技术,理解其工作原理,并了解如何将它们集成...

    jsp,java中文乱码问题另类解决方案,jni加密、解密编码

    本篇文章将深入探讨这个问题,并提出一种另类的解决方案——利用JNI(Java Native Interface)进行加密和解密操作来规避乱码问题。 首先,我们需要理解为什么会出现中文乱码。这通常与字符编码有关,Java和JSP默认...

    javaURL分析.

    Java URL(统一资源定位符)是Java编程语言中用于表示互联网资源地址的一种类。它遵循通用的URI(统一资源标识符)标准,并扩展了HTTP、FTP等特定协议的支持。理解和熟练使用Java URL对于进行网络编程至关重要,特别...

    javascript将url中的参数加密解密代码

    今天在做一个老项目时,遇到一个需求,在javascript将url中的参数加密解密,从网上找发现了这段有用的代码: 代码如下: [removed]  &lt;!– Begin  function Encrypt(str, pwd) {   if(str==””)return “”;...

    配置文件内容加密jasypt demo

    本篇文章将深入探讨如何使用jasypt(Java Simple and Strong Encryption)库来加密Spring Boot应用的配置文件内容。 jasypt是一个强大的Java加密库,它为开发者提供了简单的API,可以轻松地在应用程序中集成加密...

    HTTP digest RFC2671规范 加密实现(JAVA)

    接下来,`Digests.java`文件可能包含了处理Digest认证所需的各种加密和哈希操作。关键概念包括: - **MD5**: Digest认证通常使用MD5算法对数据进行哈希,以创建一个不可读的表示形式。 - **Nonce**: 服务器返回的一...

Global site tag (gtag.js) - Google Analytics