Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android 3Des加密二进制输出_Java_Android_Base64_3des - Fatal编程技术网

Java Android 3Des加密二进制输出

Java Android 3Des加密二进制输出,java,android,base64,3des,Java,Android,Base64,3des,用3des解密。我可以正确地获得Base64输出,但我希望获得二进制输出。我该怎么办 cipher.init(Cipher.ENCRYPT_MODE, key); byte[] encryptedText = cipher.doFinal(unencryptedString); byte[] sdd = Base64.encode(encryptedText, Base64.DEFAULT); 将字节数组转换为包含二进制值的字符串的简单方法 S

用3des解密。我可以正确地获得Base64输出,但我希望获得二进制输出。我该怎么办

        cipher.init(Cipher.ENCRYPT_MODE, key);
        byte[] encryptedText = cipher.doFinal(unencryptedString);
        byte[]  sdd = Base64.encode(encryptedText, Base64.DEFAULT);

将字节数组转换为包含二进制值的字符串的简单方法

String bytesToBinaryString(byte[] bytes){

    StringBuilder binaryString = new StringBuilder();

    /* Iterate each byte in the byte array */
    for(byte b : bytes){

        /* Initialize mask to 1000000 */           
        int mask = 0x80;

        /* Iterate over current byte, bit by bit.*/
        for(int i = 0; i < 8; i++){

            /* Apply mask to current byte with AND, 
             *  if result is 0 then current bit is 0. Otherwise 1.*/
            binaryString.append((mask & b) == 0 ? "0" : "1");

            /* bit-wise right shift the mask 1 position. */
            mask >>>= 1;
        }
    }

    /* Return the resulting 'binary' String.*/
    return binaryString.toString();
}
String bytesToBinaryString(字节[]字节){
StringBuilder binaryString=新的StringBuilder();
/*迭代字节数组中的每个字节*/
for(字节b:字节){
/*将掩码初始化为1000000*/
int mask=0x80;
/*逐位迭代当前字节*/
对于(int i=0;i<8;i++){
/*使用和将掩码应用于当前字节,
*若结果为0,则当前位为0。否则为1*/
追加((掩码和b)==0?“0”:“1”);
/*按位右移掩码1位置*/
掩码>>>=1;
}
}
/*返回生成的“二进制”字符串*/
返回binaryString.toString();
}

明确您的输出要求。你想要一个二进制数的字符串表示吗?有趣的是,你能解释一下这个算法以及它为什么有用吗?