就是在JAVA中我用RSA算法对DES算法产生的密钥进行加密
然后用RSA再解密时 得到的类型是byte[]的数,我如何将
它转换成Key类型?因为我要用这个密钥对用DES加密的密文
进行解密。
讲的比较乱,不知能否看懂?
谢谢各位了,帮我解决一下!

解决方案 »

  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();
        }}
      

  2.   

    兄弟,这不是我要的。
    我的是在一端用RSA算法对DES的密钥加密在另一端同样用RSA算法对此解密,但解密的
    结果是byte[]类型的,如何将它转换成Key类型的?
    因为我要用它对DES加密的密文进行解密。
    3X