C++加密解密库
信息安全对各种信息系统重要性无庸质疑。因此,用于实现软件信息系统的各种编程语言都会有相应的与加密解密有关的库,有的语言(如Java)在其标准库中直接提供基础组件,有的语言(如C++)则需使用第三方库。各种库中带“crypto-”前缀的模块,基本都是用来做这个的。
值得一提的是,开源操作系统Linux的内核源码中也有加解密模块,“crypto”源码目录下的便是。这不难理解:OS内核的安全性不言而喻。
我本人平时从事C++编程较多,所以特地提及一下C++的加解密库:Cypto++。
Cypto++是开源、免费的C++加密解密库,其最新版本为5.6.1,可从以下网址获取:http://www.cryptopp.com/。
对各种信息安全方面的需要,Cypto++几乎无所不包。从密码算法到密钥协商,从流密码到块密码,从对称加密到非对称加密,从RSA到椭圆曲线,从散列算法到报文鉴别,从编码方法到压缩算法,几乎应有尽有。所以,C++编程中如果碰到信息安全方面的需求,通常引入Cypto++就足够了。
Crypto++在实现方面大量使用了C++的模板技术和基于策略的设计(policy-based design)。对初学者来说,这可能会增加理解和熟悉的难度。但不得不承认,能将模板和基于策略的设计应用到