浅析Oracle Spatial数据加密问题


  本文标签:Spatial数据加密

  经过长时间学习Oracle 9i的Spatial数据加密技术,在这里我想大家分享一下,看完本文你肯定有不少收获  。
具体加密实现:

  1、简单的数据加密  。

  1)创建返回值为SDO_GEOMETRY数据类型的自定义函数,从BLOB(或其他任意的数据类型)数据中解密出SDO_GEOMETRY数据并返回  。

  2)解密过程需要给函数传入一个密钥参数,这个密钥参数来自于你的客户端程序或Web应用程序  。

  这样,别人就无法解析你存储于Spatial中的数据,从而实现Spatial数据加密  。

  2、高级的数据加密  。

  1)用C语言创建返回值为SDO_GEOMETRY数据类型的自定义函数,从BLOB(或其他任意的数据类型)数据中解密出SDO_GEOMETRY数据并返回  。这一步需要有OCI接口相关的编程技术,因此实现难度稍高一些  。

  2)C语言程序读取机器的硬件码,经过运算后得出服务端的密钥  。

  3)读取数据时还要给函数传入客户端的密钥参数,两个密钥结合才是可以对数据进行解密的最终密钥  。当然,数据入库时也要用相应的密钥进行加密  。
这样,经过Spatial数据加密的空间数据就仅仅可以被特定的客户端和服务器所获取,其他程序无法获取  。
【编辑推荐】

  1. 修改Oracle存 储过程所需代码
  2. 对Oracle存储过程的总结
  3. 实现Oracle存 储过程的实际应用的代码 
  4. 深入高性能的 Oracle动态SQL开发 
  5. Oracle SQL的 优化规则解析