如题,想求教下怎么对二进制文件进行加密?是不是也是和加密文本文件一样 先用FileInputStream读取文件然后分段加密??如果这样那和加密文本文件又有什么不同的地方呢?

解决方案 »

  1.   

    个人认为:文本文件可以看成是字节文件,与普通文件无什么区别。
    现在的加密方式无非2种:
    1.对称加密
    2.非对称加密
    对于这两种加密方式,最终可以用一句话:传入一个byte[],输出一个加密byte[].
    所以对以文件加密个人认为可以采取2种方式加密:
    1.读取文件全部,得到一个byte[],调用加密接口得到一个加密byte[],写到加密文件中。解密时按加密方式调转解密。
    优点:操作简单
    缺点:需要内存较大
    2.读取文件一部分,得到一个byte[],调用加密接口得到一个加密byte[]。写入加密文件时应该有技巧,应该先写加密byte[]的长度,再写加密byte[].如此循环直到文件读完。
    解密时应先读长度再读取加密byte[],然后解密,写到文件中。
    优点:不需大量内存
    缺点:操作复杂。