为什么要使用base64编码,有哪些情景需求?

为什么要使用base64编码,有哪些情景需求?

· json · rss
Subscribe:

About

除了前排答主所说的功能,还包含了抵御含SQL注入在内的各种注入的功能。

base64编码中不包含任何符号和空格,因此(近乎很难构造成)不会被解析成任何攻击语句。任何要存入的语句先进行base64编码再往后端传或者后端收到后先进行base64转码再进行sql拼接,这样可以有效的抵御SQL注入等各种攻击。

它提供的安全性要高于各种SQL过滤器。

经过base64化的语句就可以看做是一串近乎绝对安全的语句,而不用担心潜在的各种攻击。

但是缺点也有一些,一旦base64化,那么就不能进行高效搜索,以及储存空间要占用更大的地方,也不能方便的进行字符串截取等操作。

要提供更高的安全性的数据库可以使用可搜索加密数据库,在实现搜索前提下,对字符串全部进行了加密(同样也转化为了单纯的16进制字符串),同时还实现了数据库泄露下的问题。

如果再结合区块链(或者硬备份)的话,还可以进一步实现黑客进行恶意操作的回滚,安全性就很完美了。这种方案,除了效率不高,其他都很完美。