编写blowfish的PHP Module

        项目要求对某个串进行blowfish的加密,而php又没有现成的blowfish加密算法(好像是有一个,但需要重新编译PHP,太麻烦了,公司几十台机器,没空一台台的编译),于是在blowfish的网站上下了源代码,再根据PHP Module的框架,写了一个简单的Module。
        遇到的第一个麻烦是:blowfish是对64bit数据进行加密的,长的待加密串必须切分成8个字节一组进行加密,但如果要加密三个字符串,那该怎么办?在网上找了好一阵才知道:后面补零。
        但不久又遇到一个麻烦:对一段字符加密后再解密发现还原不了,更糟糕的是有的字符串是这样,有的字符串却又能还原。晕。问了苏宁,他也觉得匪夷所思。最后才想到原因:PHP Module里二进制串直接赋值是不可靠的,必须先base64进行encode!也就是说blowfish加密后面必须紧跟base64的encode,不然得出的二进制串是难以直接使用的。
        写PHP Module还挺长见识,对了,我可以为FlatDB也写一个PHP Module来方便调用。

相关文章

分类

留言:

关于文章

This page contains a single entry by DongHao published on 08 8, 2007 3:46 PM.

艰难杭州行 was the previous entry in this blog.

AT&T汇编语法高亮文件(for EditPlus) is the next entry in this blog.

Find recent content on the main index or look in the 存档 to find all content.