SM4现在应用场景越来越多,在国内某些场景下有取代AES的趋势,所以我开发了基于sm4的rtmp加密方案,本方案不依赖于rtmp服务器,只要有播放和推送端就可以。可以从 https://github.com/daniulive/SmarterStreaming 下载测试,以下是测试效果图:
先打开推送端SmartPublisherDemo.exe:
然后点击"配置加密"
配置好sm4加密,点击确定,然后点击推送,即可用SmartPlayer.exe查看, 输入播放地址点击播放,会弹框提示输入密钥和IV:
点击确定即可看到解密后的视频画面:
SM4和AES相比,SM4只有128位密钥长度可选,AES有128,192,256三种方式可选,二者都支持ecb, cbc, cfb, ofb等模式,上面的例子是逐帧加密的,也可以只加密视频或者音频,根据实际需求配置。