Bit->byte->数据类型->字符。
实际上计算机的语言是第一个,后面一大堆东西只不过是为了把计算机语言翻译成人的语言的一种翻译机构。
为什么?因为计算机是二进制的。为什么?因为硅这个元素的特点。
数据库是个好东西,这个东西就好像是一个超级仓库,凡是能够数字化的东西都能存储进去。
但是一般来说,仓库都会有个门禁的问题,在自己碰上了一次数据库注入攻击以后,突然想到,使用第三方软件提供商建造的数据库的危险性。假设说,我在码头租了一个特别大的仓库来做贸易周转,那么会不会仓库的某块地板下面被人挖出来了一个地洞呢?
所以我想,既然第三方数据库是一个商品程序,那么它本身就应该要提供一个比较安全的环境,但是正是因为这是一个公用的商品,也就是说,这个仓库的结构是公开的。那么很可能就有人在这个世界上面的某一个角落正在演练如何才能破坏掉这个仓库或者如何才能偷偷溜进这个仓库。对于防止有人破坏掉仓库的行为,往往会有整体数据备份这些办法来处理,但是如果有人溜进这个仓库怎么办呢?
微软的SQL是目前比较面向商业用户需求的一种数据库,它本身带有加密模块,可以对进入数据库的数据加密后存储,这个就好像是一些操作系统的APP amor 或者 BIT locker这种技术。但是这里我想到的是,unix作为一个十分优秀的商业系统提供者,最大的一个原因是因为它的个性化而不是共性化,因此就比较难被地毯轰炸形式的流行病毒击中。那么为什么我们每一个数据库的用户不能够写一个力所能及的小程序来给自己的数据加密存入数据库呢?这个样子以来,一方面解除所使用的第三方数据库本身可能埋有彩蛋的危险,另一方面,也稍微可以控制一下流行病毒的破坏力。
至于为什么不使用数据库自带的加密引擎?恩,因为调用这个引擎的这一大段代码别人也有,这个别人,自然就包括了使用全部精力,专门研究破坏和潜入的人们。面对源码不公开的商业数据库引擎,用户卡在骇客和数据库提供商之间,所以不如索性直接把这里面确认属于自己的部分:数据给私有化好了。