关于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++代码的更多相关文章

  1. 【代码笔记】iOS-3DES+Base64加密解密

    一,工程目录. 二,代码. RootViewController.m #import "RootViewController.h" #import "NSString+T ...

  2. Base64加密解密原理以及代码实现(VC++)

    Base64加密解密原理以及代码实现 转自:http://blog.csdn.net/jacky_dai/article/details/4698461 1. Base64使用A--Z,a--z,0- ...

  3. php使用base64加密解密图片

    php使用base64加密解密图片的实例代码. 例子: <?php //文件名:base64.php $data="/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAB ...

  4. password学3——Java BASE64加密解密

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之中的一个,大家能够查看RFC2045-RFC2049.上面有MIME的具体规范.Base64编码可用于在HTTP环境下传递较长的标识信息 ...

  5. 使用jframe编写一个base64加密解密工具

    该工具可以使用exe4j来打包成exe工具(如何打包自己百度) 先上截图功能 运行main方法后,会弹出如下窗口 输入密文 然后点击解密,在点格式化 代码分享 package tools;import ...

  6. Base64加密解密工具类

    使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...

  7. Java android DES+Base64加密解密

    服务器与客户端加密解密传输, 中间遇到各种坑,客户端无论用AES还是DES解密时都会出现错误,后来才看到好多人说要用AES/DES加完密后还要BASE64加密,照做时发现android和java的Ba ...

  8. Java语言实现 Base64 加密 & 解密

    Java语言实现 Base64 加密 & 解密 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法. Base64 ...

  9. JS实现base64加密解密

    JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...

随机推荐

  1. Unity---关于游戏小包的记录

    最近因为需求,出了一个pc版的游戏小包,遇到一些坑,在此做一下记录. 首先需要明白的是出小包的意义所在,其实就是为了压缩包体,游戏需要的大部分资源,在第一次运行游戏的时候通过热更新去FTP资源服务器上 ...

  2. python读写json文件(转)

    https://www.cnblogs.com/bigberg/p/6430095.html 利用python中的json库处理数据(包含json的四种方法:dumps.dump.loads.load ...

  3. 智能合约语言 Solidity 教程系列10 - 完全理解函数修改器

    这是Solidity教程系列文章第10篇,带大家完全理解Solidity的函数修改器. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编 ...

  4. vue,vux判断字符串是否是undefined

    if (typeof thisObj.city === 'undefined') { return}

  5. vue.js手机号验证是否正确

    {literal}          var mobile_mode=/^1[34578]\d{9}$/;       {/literal}       if(!mobile_mode.test(te ...

  6. vi常用快捷键

    vi常用快捷键 1)移动光标 h :光标左移一个字符k :光标上移一个字符j :光标下移一个字符l :光标右移一个字符 0 :光标移至行首$ :光标移至行尾 H :光标移至屏幕首行M :光标移至屏幕中 ...

  7. function_exists

    在已经定义的函数列表(包括系统自带的函数和用户自定义的函数)中查找 function_name. 如果 function_name 存在且的确是一个函数就返回 TRUE ,反之则返回 FALSE .

  8. bzoj3529: [Sdoi2014]数表 莫比乌斯反演

    题意:求\(\sum_{i=1}^n\sum_{j=1}^nf(gcd(i,j))(gcd(i,j)<=a),f(x)是x的因子和函数\) 先考虑没有限制的情况,考虑枚举gcd为x,那么有\(\ ...

  9. hdu-4738-tarjin/割边

    http://acm.hdu.edu.cn/showproblem.php?pid=4738 求得是边权最小的割边,和求割点类似用tarjin,但要注意的是不能走从父亲过来的那一条边,在割点里那样理解 ...

  10. git忽略未被跟踪和已被跟踪的文件

    git的文件操作本质上来讲是基于文件索引来做追踪的.   至于忽略未跟踪(untrack)文件文件,git提供了三种方式 1 .gitignore 2 git config --global core ...