`
floger
  • 浏览: 213870 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

url加密参数 (java版)

阅读更多

转自:http://hi.baidu.com/316133782/blog/item/e5fc74ccdcf1cc1601e92835.html

 

/**
  
  *加密解密类
  *
  *
  *
  */
  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 ();
           }
       }
  }
 
分享到:
评论

相关推荐

    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使用HttpClient通过url下载文件到本地

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

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

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

    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