有时候我们希望将文件加密传输给前端。最初我的思路是加密文件流,但研究了很久都没有得到结果。
后来突然想到,数据库里不是有blob数据嘛,而blob就是一种二进制数据,那么SSM框架是怎么处理数据库里的blob数据传给前端的呢?于是我就使用mybatis-generator生存一个DTO对象,发现其中的blob类型的字段被映射为了byte[]。byte[]在初始化时需要指定一个int类型的长度值,int类型的最大值是2147483647,而2147483647B≈2097151KB≈2047MB≈1.9GB!这完全符合我的要求了!
当然还要注意的是,byte[]使用AES加密后的数据还是不能直接在网络里传输的,需要进行Base64编码后才能传输。
参考资料:[1] 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
[2] java中的Cipher类
标签:文件,加密,int,blob,byte,数据 From: https://www.cnblogs.com/hdxg/p/17575142.html