jce中有很多现成的,比如rc2,rc4,不会用去sun或ibm上有现成的例子,看对称加密即可。

解决方案 »

  1.   

    import java.security.*;
    public class myDigest {
      public static void main(String[] args)  {    myDigest my=new myDigest();
        my.testDigest();  }
      public void testDigest()
      {
       try {
         String myinfo="我的测试信息";    //java.security.MessageDigest alg=java.security.MessageDigest.getInstance("MD5");
          java.security.MessageDigest alga=java.security.MessageDigest.getInstance("SHA-1");
          alga.update(myinfo.getBytes());
          byte[] digesta=alga.digest();
          System.out.println("本信息摘要是:"+byte2hex(digesta));
          //通过某中方式传给其他人你的信息(myinfo)和摘要(digesta) 对方可以判断是否更改或传输正常
          java.security.MessageDigest algb=java.security.MessageDigest.getInstance("SHA-1");
          algb.update(myinfo.getBytes());
          if (algb.isEqual(digesta,algb.digest())) {
             System.out.println("信息检查正常");
           }
           else
            {
              System.out.println("摘要不相同");
             }   }
       catch (java.security.NoSuchAlgorithmException ex) {
         System.out.println("非法摘要算法");
       }  }
      public 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();
        }}在给你一个网址,我就是在那里看到的,对了如果你使用的是jdk1.4 就不需要使用扩展包了
    直接就可以用!http://www-900.ibm.com/developerWorks/cn/java/l-security/index.shtml祝你好运!
      

  2.   

    可以使用 SSL吗?? 
      

  3.   

    当然用https就行啦,这样可以保证数据传送的安全性的
    而且你的代码什么都不用改
      

  4.   


    To kknd97(绝地风暴) :
    谢谢你提供的资料,我正在看,感觉很有用 :)To ChDw(米):
    用http该怎么实现呢?用“kknd97(绝地风暴) ”的方法要求双方都要有java环境啊
    我只想实现从客户端浏览器到服务器端的安全传输