今天使用C语言实现了Base64的加密,Base64的理论参考了http://hi.baidu.com/gaojinshan/blog/item/a10d26f82b7b630ad9f9fde2.html的内容,但是实现没有参考,我可以保证。代码比较混乱,大家将就着看吧。
主要方法是base64_encode,它需要两个参数,需要加密的字符串和它的长度(虽然长度也可以在该方法内得到,这一点参考了刚才那个链接的方法。)我都是用的int类型,默认它是4字节32bit的,如果不妥,大家不要责怪。解密以后再做吧。
关于“你好ma哈哈哈哈哈捏黑的饿登记费ug啊接ia阿尔i阿尔就ijeiie进而饿接ie”这一串文字,加密结果是:
xOO6w21huf65/rn+uf65/sTzutq1xLb2tce8x7fRdWewob3TaWGworb7abCitvu+zWlqZWlpZb34tvi29r3TaWU=
但是我使用JXTA2.5所带的org.bouncycastle.util.encoders.UrlBase64加密结果稍有出入:
xOO6w21huf65_rn-uf65_sTzutq1xLb2tce8x7fRdWewob3TaWGworb7abCitvu-zWlqZWlpZb34tvi29r3TaWU.
差别在于加减不同,“=”变“.”,“/”变“_”。说起JXTA,我有气,JXTA技术手册都有JXTA的安全方面的类,2.5中没有找到了。