Base64编码转码
import sun.misc.*;BASE64Decoder base64 = new BASE64Decoder();
byte[] keys = base64.decodeBuffer(key);

解决方案 »

  1.   

    http://www.laoer.com:81
    天乙社区,有源码!
      

  2.   

    上边第二个问题其实就是一个base64的解码,我已经成功实现了。得到
    key={-37,-72,-21,91,61,-84,-58,-75,91,71,-22,103,-54,14,-93,88,120,96,54,78,44,102,-114,58};即byte[]类型的数组了。
    现在我想问,怎么可以让这个数组作为一个密钥进行编码?
    DES加密一般都是自动产生的密钥,而密钥的类型必须是SecretKey类型,而我得到的却是一个byte类型,这个byte[]怎么转化成SecretKey类型?谢谢
      

  3.   

    DES加密时密钥都是都是随机产生的,这样生成的密文每次都会不一样。
    我现在需要每次生成的密文都一样,肯定要相同的密钥去编码解码。 
    现在我有一个byte[] 类型的密钥,我该怎么应用它去加密编码?
    大虾指点 ,谢谢
      

  4.   

    上边的问题我已经解决:贴出来与大家分享 
     public SecretKey DESKey(byte[] key_byte) throws Exception {
       DESKeySpec deskeyspec = new DESKeySpec(key_byte);
       SecretKeyFactory skf = SecretKeyFactory.getInstance("DES", "SunJCE");
        return  skf.generateSecret(deskeyspec);
      }
      

  5.   

    你这个是说des加密别的东西吧!
    des加密的密钥是经过其他算法加密的字符串对吧!
    des的平衡算法 你知道最底层可以是输入8个字节 输出密文也是8个字节
    然后你再封装一下把他可以加密一个字符串就可以了啊!
    对于密钥 怎么是自己生成的,它本来就可以用一个8字节的字符串, 这个字符串你可以被加密过也可以不 这由得你控制就行了
    des的加密是经过s盒变换一系列操作搞定的
    你可以先只写出des的扩展算法 然后比如说和rsa等算法结合做成数字信封技术
    这样你网络上面传送的des密钥是经过例如rsa加密 然后密文是des加密 对方收到以后先解密des密钥 再用des密钥解密密文