保护受限制的JSP资源

    JSp开发的应用程序大多在互联网环境下运行, 由于互联网及其协议的开放性, 资源公开程度毫无疑问是相当高的。 这样会带来一系列安全性问题, 常见的如:

  a、 传输的重要信息被黑客拦截, 从而造成损失。 例如电子上午系统中的银行账号和用户密码被黑客拦截

  b、 WEB服务器控制权被黑客获得, 从而导致网站整体瘫痪

  c、 JSP页面被黑客篡改, 导致出现各种异常情况

  d、  JSP页面被未经授权的用户访问, 导致重要信息被泄露, 设置数据被破坏

————————————————————常用保护措施———————————————————————————————

1、 加密传输给客户端的文字

       即在服务器端将文字加密后再传输给客户端, 这样子在网络上传输的是秘文形式, 采用高强度、高可靠性的加密算法, 就可以解决信息传输过程中泄密问题, 在此主要介绍两种常用饿算法来机密传递给客户端的文字。

     DES算法

    MD5算法

——————————————DES算法简介

   目前DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、告诉公路收费站等领域被广泛应用, 实现关键数据的保密, 如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等, 均用到DES算法。

   DES算法的入口参数有3个: Key、 Data、 Mode。 其中Key为8个字节共64位,是DES算法的工作密钥; Data也为8个字节64位,是要被加密或被解密的数据, Mode为DES的工作方式, 有两种: 加密或解密。

   加密解密还分为 对称性与非对称性, 关于这方面的具体知识及其工作原理请参考其他书籍

 

——————————————-下面是我练习时的源代码:

   Bean类:

  package cn.com.jspSave;

import java.security.Security;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;

import com.sun.java_cup.internal.internal_error;
import com.sun.jndi.url.corbaname.corbanameURLContextFactory;

/**
Administrator: lsy
2009-9-6
安全程序 DESede/DES加密
 */
public class DESede {
 
 private byte[] cipherByte;
 
 public String run(String s){
  //添加新安全算法 如果用JCE就要把它添加进去
  Security.addProvider(new com.sun.crypto.provider.SunJCE());
  String Algorithm = "DES";  //定义加密算法, 可用DES,DESede, Blowfish等
  String myinfo = s;
  
  try{
   //生成密钥
   KeyGenerator keygen = KeyGenerator.getInstance(Algorithm);
   SecretKey desKey = keygen.generateKey();
   
   //加密
   Cipher cipher = Cipher.getInstance(Algorithm);
   cipher.init(Cipher.ENCRYPT_MODE, desKey);
   cipherByte = cipher.doFinal(myinfo.getBytes());
  }catch (Exception e) {
   System.out.println("加密出现了异常");
   e.printStackTrace();
  }
  return byte2hex(cipherByte);
 }
 
 public String byte2hex(byte[] b){//二进制转字符串
  
  String hs="";
  String stmp ="";
  for(int n=0; n<b.length; n++){
   stmp = (Integer.toHexString(b[n]& 0xFF));
   if(stmp.length()==1) hs=hs+"0"+stmp;
   else hs=hs+stmp;
   
   if(n<b.length-1) hs=hs+":";
   if((n!=0)&&(n%16==0)) hs=hs+"<br>";
  }
  return hs.toUpperCase();
 }

}
 

JSP页面:

<body>
    This is my JSP page. <br>
    JAVABean 实现加密示例<hr>
   
    <%
    String shige="滕王高阁临江渚, 佩玉鸣鸾罢歌舞。 <br>"
    +"画栋朝飞南浦云, 珠帘暮卷西山雨。 <br>"
    +"闲云潭影日悠悠, 物转星移几度秋。 <br>"
    +"阁中帝子今何在? 槛外长江空自流。<br>";
   
    String shige2 = des.run(shige);
     %>
 
 
  加密文字: <br> <%=shige %>
  <p align="center">加密结果 = <br>
  <%=shige2 %>


   </body>

 

运行效果:

 

加密文字:
滕王高阁临江渚, 佩玉鸣鸾罢歌舞。
画栋朝飞南浦云, 珠帘暮卷西山雨。
闲云潭影日悠悠, 物转星移几度秋。
阁中帝子今何在? 槛外长江空自流。

加密结果 =
ED:96:7D:90:15:6C:FB:D0:10:E9:5E:E1:ED:F5:EA:02:9C:
B7:5E:83:BD:CD:E9:77:CF:37:8D:0D:5B:82:BC:37:BB:
2C:70:1E:B1:55:B3:EE:E5:EA:CB:93:48:A4:83:BD:8F:
63:1D:61:BD:6A:67:5D:E1:AB:90:D4:D9:00:1A:9B:E6:
CD:CE:D9:A0:80:6B:49:20:D1:88:C3:AB:5F:0B:60:18:
91:D5:36:F2:37:28:24:A6:2C:3C:8B:AF:3E:C1:58:54:
2A:16:28:49:6F:A0:5D:CC:25:9F:D9:FC:03:29:EB:B2:
FB:28:B2:DF:83:CA:B1:F3:68:33:17:5D:1C:03:14:7A:
C7:C9:CF:72:97:42:7E:A9:F8:4D:BB:52:D2:02:D5:0F:
9E:D8:2E:29:36:D5:D2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值