常用加解密工具集合|视频图片加解密方案

1,168 阅读2分钟

最近工作需要做视频加密解密,大概需求就是摄像头录制好的视频实时加密存储到本地,防止别人拔掉存储卡把视频拷贝走。

大胆设想一下,假如现在很多网约车车内都有摄像头,这些对着乘客和司机的车内摄像头都是实时录制视频并存储到本地,如果司机把摄像头的存储卡拔走,把乘客视频拷贝走,用户隐私存在很大安全隐患。

怎么解决这个问题?

解决办法就是对视频进行加密,摄像头录制视频的原理就是连续拍照,一张一张的图片连续播放就是一个视频了,加密就是对每一帧视频(图片)进行加密,然后再存储到本地。

如果视频需要回传到服务器上,在服务器上进行解密,然后就可以播放了。

视频加密算法

我使用的是很成熟的对称加密。

image.png

对称加密原理相对比较好理解,就是加密和解密都用的同一把钥匙,保存好钥匙就可以防止视频被破解了,服务器保存钥匙也不能用明文,这里就不多做描述了,如果你处理过用户敏感信息加密,应该很容易想到解决办法,比如用户手机号,银行卡号,等敏感信息,一个负责的企业,如果对用户敏感信息进行加密存储,就算你是企业里权限最高的mysql管理员,那也是看不到用户信息的。

技术圈成熟的加密工具大集合

本来是个table,整理成了一个脑图。

加解密算法整理.png

这里都是开源组件,大部分都包含对称加密算法和非对称加密算法

比如

AES(CBC, GCM)

DES/3DES

ChaCha20

RC4

我采用的是chacha20,设备端用c加密,后台服务用java解密(通过JNI技术调用c)