关于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. (转).Net中自定义类作为Dictionary的key详解

    在定义数据结构时,Dictionary提供了快速查找数据的功能,另外Dictionary< TKey, TValue >属于key-value键值对数据结构,提供了泛型的灵活性,是数据结构 ...

  2. [Spring] Aspect Oriented Programming with Spring | AOP | 切面 | 切点

    使用Spring面向切面编程 1.介绍 AOP是OOP的补充,提供了另一种关于程序结构的思路. OOP的模块化的关键单位是 类 . AOP的则是aspect切面. AOP 将程序的逻辑分成独立的块(叫 ...

  3. 雷林鹏分享:jQuery EasyUI 表单 - 过滤下拉数据网格

    jQuery EasyUI 表单 - 过滤下拉数据网格 下拉数据网格(Combogrid)组件和下拉框(Combobox)组件的共同点是,除了都具有下拉面板以外,它们都是基于数据网格(Datagrid ...

  4. Hypergeometric distribution

    How TermFinder calculates P-values Readme: MGI GO Term Finder The GoTermFinder attempts to determine ...

  5. ionic this.navCtrl.push()和this.navCtrl.pop()

    在ionic中,this.navCtrl.push()和this.navCtrl.pop()都是进行页面跳转,但是用法又有区别 例如有A  B  C三个页面,三个页面都是使用this.navCtrl. ...

  6. LeetCode--011--盛最多水的容器(java)

    给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条线, ...

  7. [Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes.

    待解决 [Fiddler] ReadResponse() failed: The server did not return a complete response for this request. ...

  8. sqlserver创建计算列 转

    转 http://www.cnblogs.com/lgx5/p/6017874.html 表中其它列的计算值 创建的sql create table table1 ( number decimal(1 ...

  9. IDEA 错误:找不到或无法加载主类

    下的java核心编程的源码,只有java文件,没有idea或者eclipse的项目结构信息. 分别用eclipse和idea打开了一遍,方便学习调试. 项目文件夹:E:\学习资料\Java\语法\ja ...

  10. github上fork了别人的项目后,再同步更新别人的提交(转)

    原文地址:github上fork了别人的项目后,再同步更新别人的提交 我从github网站和用git命令两种方式说一下. github网站上操作 打开自己的仓库,进入code下面. 点击new pul ...