java.security.MessageDigest alga=java.security.MessageDigest.getInstance("MD5");
            alga.update(// your byte[]);
            byte[] digesta=alga.digest();
//digesta 就是加密过的了
//在客户端用反向算法解密

解决方案 »

  1.   

    比如一个要传输一个XML文件或文本文件等
      

  2.   

    import java.io.*;
                FileInputStream fis = new FileInputStream(c:\\test.txt);
                byte[] buf = new byte[fis.available()];
                int size = fis.read(buf);
    //buf就是取出来的byte[]字节数组了,结合刚才的代码就可以了
      

  3.   

    package rmi; import java.security.*;
     import java.security.spec.*;
     import org.jdom.*;
     import java.util.*;
     import cn.com.ucap.uform.manage.*;
     import cn.com.ucap.uform.*;
     import java.io.*;
    public class testdsa {
      public static void main(String[] args) throws java.security.NoSuchAlgorithmException,java.lang.Exception {
            testdsa my=new testdsa();
            my.run();
      }
      public void run()
      {
        String fileName="";
        String nodeName="",Edit157="",myinfo="";  //数字签名生成密钥
      //第一步生成密钥对,如果已经生成过,本过程就可以跳过,对用户来讲myprikey.dat要保存在本地
      //而mypubkey.dat给发布给其它用户
       if ((new java.io.File("myprikey.dat")).exists()==false) {
           if (generatekey()==false) {
               System.out.println("生成密钥失败");
               return;
              };
            }
    //第二步,此用户
    //从文件中读入私钥,对一个字符串进行签名后保存在一个文件(myinfo.dat)中
    //并且再把myinfo.dat发送出去
    //为了方便数字签名也放进了myifno.dat文件中,当然也可分别发送
      try {
      java.io.ObjectInputStream in=new java.io.ObjectInputStream(new java.io.FileInputStream("myprikey.dat"));
      PrivateKey myprikey=(PrivateKey)in.readObject();
      in.close(); // java.security.spec.X509EncodedKeySpec pubX509=new java.security.spec.X509EncodedKeySpec(bX509); //java.security.spec.X509EncodedKeySpec pubkeyEncode=java.security.spec.X509EncodedKeySpec
      //String myinfo="这是我的信息1111";    //要签名的信息
     // fileName = String.valueOf(String.valueOf( (new StringBuffer("file:/")).append("C:/InsertDataXml/data/ucap1_2004315140743_JSCXXMy_.xml"))); // myinfo = fileName.substring(6);
      //System.out.println("要加密的文件!"+myinfo);
      
     /* FileInputStream fis = new FileInputStream(c:/test.txt);
      byte[] buf = new byte[fis.available()];
      int size = fis.read(buf);*/
      
      /*Document theDoc=DomUtil.createDocument(fileName);
      Element root=theDoc.getRootElement();
      List fromList=root.getChildren();
      Iterator iter=fromList.iterator();
      while (iter.hasNext())
      {
            Element content=(Element)iter.next();
            nodeName=content.getName();
            if(nodeName=="Edit157")
            {
               myinfo=content.getTextTrim();
               if(myinfo=="")
                    myinfo=" aa ";
            }
            //System.out.println(myinfo+"要加密码的内容");
      }*/  //用私钥对信息生成数字签名
      //先用生成一个MessageDigest类,确定计算方法
      java.security.Signature signet=java.security.Signature.getInstance("DSA");
      signet.initSign(myprikey);
      //添加要进行计算摘要的信息
      signet.update(myinfo.getBytes());
    这是其中一些代码,能不能帮我看看那里要改改,那里得到文件的内容,对文件内容进行加密,谢谢了