管理课件用OpenSSL 做Base64 编解码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
营销研究用OpenSSL做Base64编解码

用OpenSSL 做Base64 编解码(C++) main.cpp [cpp]?view plaincopy #include?openssl/evp.h?? #include?openssl/bio.h?? #include?openssl/buffer.h?? #include?string.h?? #include?string?? #include?iostream?? using?namespace?std;?? ?? char?*?Base64Encode(const?char*?input,?int?length,?bool?with_new_line);?? char?*?Base64Decode(char*?input,?int?length,?bool?with_new_line);?? ?? int?main(int?argc,?char*?argv[])?? {?? ????cout??With?new?line??y/n?;?? ????string?option;?? ????cin??option;?? ????bool?with_new_line?=?(?(y?==?option?||?Y?==?option)???true?:?false?);?? ?? ????string?enc_input?=?Henry?Alfred?Kissinger?is?a?German-born?American?writer,?political?scientist,?diplomat,?and?businessman.?A?recipient?of?the?Nobel?Peace?Prize,?he?served?as?National?Security?Advisor?and?later?concurrently?as?Secretary?of?State?in?the?administrations?of?Presidents?Richard?Nixon?and?Gerald?Ford.;?? ?? ????cout??endl??To?be?encoded:??endl??~??enc_input??~??endl??endl;?? ?? ????char?*?enc_output?=?Base64Encode(enc_input.c_str(),?enc_input.length(),?with_new_line);?? ????cout??Base64?Encoded:??endl??~??enc_output??~??endl??endl;?? ?? ????string?dec_input?=?enc_output;?? ????char?*?dec_output?=?Base64Decode((char?*)dec_input.c_str(),?dec_input.length(),?with_new_line);?? ????cout??Base64?Decoded:??endl??~??dec_output??~??endl??endl;?? ?????? ????free(enc_output);?? ????free(dec_output);?? }?? ?? char?*?Base64Encode(const?char?*?input,?int?length,?bool?with_new_line)?? {?? ????BIO?*?bmem?=?NULL;?? ????BIO?*?b64?=?NULL;?? ????BUF_MEM?*?bptr?=?NULL;?? ?? ????b64?=?BIO_new(BIO_f_base64());?? ????if(!with_new_line)?{?? ????????BIO_set_flags(b64,?BIO_FLAGS_BASE64_NO_NL);?? ????}?? ????bmem?=?BIO_new(BIO_s_mem());?? ????b64?=?BIO_push(b64,?bmem);?? ????BIO_write(b64,?input,?length);?? ????BIO_flush(b64);?? ????BIO_get_mem_ptr(b64,?bptr);?? ?? ????char?*?buff?=?(char?*)malloc(bptr-length?+?1);?? ????memcpy(buff,?bptr-data,?bptr-length);?? ????buff[bptr-length]?=?0;?? ?? ????BIO_free_all(b64);?? ?? ????return?buff;

文档评论(0)

rovend + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档