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> ...
随机推荐
- 响应式布局与bootstrap框架
原文 网页布局方式 1.固定宽度布局:为网页设置一个固定的宽度,通常以px做为长度单位,常见于PC端网页. 2.流式布局:为网页设置一个相对的宽度,通常以百分比做为长度单位. 3.栅格化布局:将网页宽 ...
- slf4j/logback: logging日志的配置
slf4j/logback: logging日志的配置 import依赖: import org.slf4j.Logger;import org.slf4j.LoggerFactory;private ...
- p1211 Prime Cryptarithm
直接深搜+检验. #include <iostream> #include <cstdio> #include <cmath> #include <algor ...
- [LintCode] Linked List Cycle(带环链表)
描述 给定一个链表,判断它是否有环. 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true. 这里解释下,题目的意思, ...
- Confluence 6 可以自定义的元素
色彩配色方案允许你对 UI 中的元素色彩进行编辑,包括顶部条,标签页和背景色. 有一些下面的 UI 元素被用在特定的主题中,配色方案的修改可能不会对这些元素有效. 顶部条(Top Bar)—— 顶部导 ...
- Confluence 6 配置边栏
如果你具有空间的管理员权限,你可以对空间的变量进行自定义,让你的空间具有自己的空间标识(logo),修改显示的继承关系和在空间中添加快捷方式以帮助用户在空间中进行快速导航. 希望开始配置空间边栏,选择 ...
- 第二类Stirling数
第二类斯特林数 第二类Stirling数:S2(p, k) 1.组合意义:第二类Stirling数计数的是把p个互异元素划分为k个非空集合的方法数 2.递推公式: S2(0, 0) = 1 S2(p, ...
- Spring注解之@Lazy注解
@Lazy用于指定该Bean是否取消预初始化.主要用于修饰Spring Bean类,用于指定该Bean的预初始化行为, 使用该Annotation时可以指定一个boolean型的value属性,该属性 ...
- Git:创建与合并分支
1.1创建dev分支,使用命令符 git branch 分支名称. 1.2将HEAD指针切换到dev分支,使用命名符git checkout 分支名称. 注:创建并且转移可以合并为一个步骤,使用命令符 ...
- ActiveMQ的spring配置文件
从官网copy出来,做了部分修改: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=& ...