base64加密解密c++代码
关于base64加密解密代码:
程序运行功能请自行查看main函数:
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <stdlib.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
char str[70];
char str1[1000];
char ch[1000010];
int ch1[1000010];
void f()
{
int i,j;
memset(str,0,sizeof(str));
memset(str1,0,sizeof(str1));
j=0;
for(i=0;i<26;i++){
str1[i+'A']=j;
str[j++]=i+'A';
}
for(i=0;i<26;i++){
str1[i+'a']=j;
str[j++]=i+'a';
}
for(i=0;i<=9;i++){
str1[i+'0']=j;
str[j++]=i+'0';
}
str1['+']=j;
str[j++]='+';
str1['/']=j;
str[j++]='/';
str[j++]='\0';
str1['=']=0;
/*for(i=0;i<65;i++){
printf("%c ",str[i]);
}
printf("\n");*/
}
void jiami ()
{
int len=strlen(ch);
int i,j,k=0;
int m,l;
for(i=len-1;i>=0;i--){
for(j=0;j<8;j++){
ch1[k++]=ch[i]%2;
ch[i]/=2;
}
}
m=0;
for(i=k-1,j=0,l=0;;i--,j++){
if(j>=6){
if(i>-6)
printf("%c",str[m]);
else printf("=");
l++;j=0;m=0;
if(l%76==0){
printf("\n");
}
if(i<=0&&l%4==0){
break;
}
}
if(i>=0)
m=m*2+ch1[i];
else m*=2;
}
printf("\n");
}
void jiemi ()
{
int len=strlen(ch);
int i,j,k=0,l;
int x;
for(i=len-1;i>=0;i--){
x=str1[ch[i]];
//printf("%c %d\n",ch[i],x);
//system("pause");
for(j=0;j<6;j++){
ch1[k++]=x%2;
x/=2;
// printf("%d ",ch1[k-1]);
}
}
// printf("\n");
int m=0;
for(i=k-1,j=0,l=0;;i--,j++){
if(j>=8){
if(i>-8){
printf("%c",m);l++;
if(l%76==0){
printf("\n");
}
}
j=0,m=0;
if(i<=0)
break;
}
if(i>=0)
m=m*2+ch1[i];
else m*=2;
}
printf("\n");
}
int main ()
{
f();
//printf("%d\n",str1['2']);
int i,j,l=0;
while(~scanf("%s",ch)){
l++;
if(strcmp(ch,"#exit#")==0)
break;
printf("Case #%d\n",l);
if(strcmp(ch,"#s2b#")==0){
getchar();
while(gets(ch)!=NULL){
if(strcmp(ch,"#CaseEnd#")==0)
break;
jiami();
}
}else if(strcmp(ch,"#b2s#")==0){
getchar();
while(gets(ch)!=NULL){
if(strcmp(ch,"#CaseEnd#")==0)
break;
jiemi();
}
}
}
return 0;
}
base64加密解密c++代码的更多相关文章
- 【代码笔记】iOS-3DES+Base64加密解密
一,工程目录. 二,代码. RootViewController.m #import "RootViewController.h" #import "NSString+T ...
- Base64加密解密原理以及代码实现(VC++)
Base64加密解密原理以及代码实现 转自:http://blog.csdn.net/jacky_dai/article/details/4698461 1. Base64使用A--Z,a--z,0- ...
- php使用base64加密解密图片
php使用base64加密解密图片的实例代码. 例子: <?php //文件名:base64.php $data="/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAB ...
- password学3——Java BASE64加密解密
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之中的一个,大家能够查看RFC2045-RFC2049.上面有MIME的具体规范.Base64编码可用于在HTTP环境下传递较长的标识信息 ...
- 使用jframe编写一个base64加密解密工具
该工具可以使用exe4j来打包成exe工具(如何打包自己百度) 先上截图功能 运行main方法后,会弹出如下窗口 输入密文 然后点击解密,在点格式化 代码分享 package tools;import ...
- Base64加密解密工具类
使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...
- Java android DES+Base64加密解密
服务器与客户端加密解密传输, 中间遇到各种坑,客户端无论用AES还是DES解密时都会出现错误,后来才看到好多人说要用AES/DES加完密后还要BASE64加密,照做时发现android和java的Ba ...
- Java语言实现 Base64 加密 & 解密
Java语言实现 Base64 加密 & 解密 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法. Base64 ...
- JS实现base64加密解密
JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...
随机推荐
- (转).Net中自定义类作为Dictionary的key详解
在定义数据结构时,Dictionary提供了快速查找数据的功能,另外Dictionary< TKey, TValue >属于key-value键值对数据结构,提供了泛型的灵活性,是数据结构 ...
- Linux 各种软件的安装 - svn
首先感谢这篇博文 https://www.cnblogs.com/mymelon/p/5483215.html 按照他的配置,svn顺利搭好. 1:yum -y install subversion ...
- 转载:删除github上文件夹的两种方式
http://www.jianshu.com/p/286be61bb9b8 删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题) 如果此文件夹已被加入git追 ...
- Learn Python3 the hard way 第一天总结 命令行(1)
附录-命令行快速入门(1) command line interface 简称 CLI ,可以在mac OS 上通过一些输入进行一些操作. 1如何在迷路后怎样回家 命令: pwd:打印工作目录cd 更 ...
- 关于Android 主题的那些事
最近遇到了一个问题,主题的ActionBar的Title 颜色是黑色的 但是我的主界面由于用的是CoordinateLayot所以是白色的 整个黑色的就很难看 所以也想要把ActionBar 的Tit ...
- JavaScript动态加载资源
//动态加载样式 function dynamicLoadingCss(path){ if(!path || path.length === 0){ return false; } var head ...
- 微信小程序select不能使用,如何实现同样的效果
如果想实现同样的效果,只能使用小程序组件picker,其中,可以有一列,或者多列 点击链接查看详情: https://mp.weixin.qq.com/debug/wxadoc/dev/compone ...
- Routing a Marathon Race
直接爆搜的复杂度是2^n,对于n<=40的数据过不了. 考虑优化一下. 发现如果走了一个点后,以后是不可能再经过与它相邻的点的,因为这样走显然不如直接走那个与它相邻的点. 这样每走一步就可以删掉 ...
- raw_input 和input 区别
raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收).而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它 ...
- Web测试要点
由于本人工作接触Web测试,所以我从网上找的资料,学习了解web测试哪些内容,然后自己整理汇总的随笔,如文章中有不足的地方,请大家多多指教:或者文章内容与他人相似,望见谅. web是什么?(转载: ...