java.net.URLEncoder

 redirect="true" path="/success.jsp"

 

在一个Action的execute中,可不可以在返回的ActionForward中设置url的参数,就是url中?以后的部分?  
   
  2、如果config文件中使用了redirect=true的话可以设置吗?

 

 

java.net.URLEncoder
java.net.URLDecoder

 

 

 

“%23%45%”,是UNICODE编码。  
  编码java.net.URLEncoder  
  解码java.net.URLDecoder

 

<%=URLEncoder.encoder(parameter)%>

 

 

*****************************************

**

*加密解密类
*
*
*
*/
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 ();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值