我需要通过WebRTC将图像数据发送给另一个对等方。我的第一个想法是使用图像中的base64表示。我在Canvas的帮助下得到了这个数据URI。奇迹般有效。但现在我想在发送之前检查数据是否未被更改。
问题是,Canvas重新编码图像,值得Firefox和Chrome以不同方式编码imageData。所以我无法获得匹配的SHA哈希值。
有关如何解决此问题的任何想法。也许是解决整个问题的新方法? (WebRTC是强制性的)。谢谢!
答案 0 :(得分:0)
以下是我的所作所为......基本上我现在正在使用ArrayBuffer
和Blob
。我有一张Blob
的图片。然后我使用FileReader.readAsArrayBuffer(blob)
和UInt8Array
作为该数据的视图。然后我将字节汇总并用https://github.com/satazor/SparkMD5计算MD5哈希值。 Concatination需要相当长的时间,所以我只考虑每个第十个字节。这应该是一个非常大的安全问题。因此,非常感谢有关改进此过程的任何提示。只要我或其他人提出更好的想法,我就会保留这个答案。