存储过程加密的开发与实现.pdfVIP

  • 3
  • 0
  • 约1.8千字
  • 约 12页
  • 2020-06-06 发布于陕西
  • 举报
存储过程加密的开发与实现 程序员参与自由软件的开发过程 权宗亮 神州飞象(北京)数据科技有限公司 共致开源(北京)信息科技有限公司 PostgreSQL中国社区大学 我的自由软件经历 •第一次使用 PostgreSQL –2002年某个公司的生产流程管理系统 –已经全然忘记为什么选择了PostgreSQL •第一个项目是因为工作需要,Java •第二个试图参加的项目 Hibernate •pgAdminIII •PostgreSQL Postgres Conference China 2015 中国用户大会 程序员的故事 •代码搬运工具有凡人无法想象的能量 Postgres Conference China 2015 中国用户大会 如何开始,什么时候开始(一) •我们不需要什么都知道才能开始 –开源是非常棒的老师,并且是个庞大的知识库 –互联网的存在 •我们什么都需要知道 –理解计算机到底是什么 •它们很快,他们很傻 •需要我们告诉它一切才能工作 •我们出错计算机就会出错 •工欲善其事,必先利其器(我们的大脑) Postgres Conference China 2015 中国用户大会 如何开始,什么时候开始(二) •我们不需要精通 –摸索中前行,善于检索,多看少记 •我到现在也无法完全掌握C语言语法 •我也不清楚几个常见工具的使用 •能看懂并理解,可以从源代码中找到自己需要的 –互联网可以教会我们很多,知道用什么样的关键字 即可 –学会架梯子(少用某度,多用谷歌) –敢于尝试 Postgres Conference China 2015 中国用户大会 背景知识 •flex –/ •bison –/software/bison/ •make –/software/make/ •C语言 •此时,我们有一些关于它们的基本知识就足够 Postgres Conference China 2015 中国用户大会 了解现有程序状况 •存储过程引擎 –Chapter 39. Procedural Languages •CREATE FUNCTION –src/backend/parser/gram.y –不解析函数体,作为字符串传递给过程语言引擎 •CreateFunctionStmt结构 •PL/pgSQL –仍然有自己的语法引擎 –根据语法产生大量结构体 Postgres Conference China 2015 中国用户大会 PL/pgSQL示例 Postgres Conference China 2015 中国用户大会 语法引擎中的 CreateFunctionStmt Postgres Conference China 2015 中国用户大会 PL/pgSQL the actual source code of the function for interpreted languages Postgres Conference China 2015 中国用户大会 我的方案 •1、加密$$部分函数体存入 prosrc •2、编译前解密获得原文 •3、选用RC4 流加密算法 •4、缺点 –编译完之前源代码会在内存中存在 –密钥存在于编译完的文件中,虽然有一定的混淆措 施,挡不住有心人的破解 Postgres Conference China 2015 中国用户大会 Thanks! Q A PostgreSQL中国社区大学

文档评论(0)

1亿VIP精品文档

相关文档