0
已解决
薛乘志
初级启示者
初级启示者
使用:加密工具请从控制台输入代码,并在最后一行输入 :end 结束输入,结果文件输出至output.txt文件
解密工具请从input.txt输入加密代码,输出结果显示在控制台内
(XACRAFT3.0加密文件)
加密:
#include<bits/stdc++.h>
#include<conio.h>
#include<openssl/sha.h>
using name** std;
void BASE2(st**ng s){
for(int i=0;i<s.size();i++){
int k=s[i];
if(k>=128||k<=0){
cout<<s[i]<<s[i+1];
i++;
}else while(k!=0){
p**ntf("%d",k%9);
k/=9;
}
p**ntf("X");
}
}
int main(){
freopen("output.txt","w",stdout);
**("title 代码加密工具");
st**ng x="";
while(1){
st**ng l;
getline(cin,l);
if(l==":end") break;
x=x+l+'\n';
}
BASE2(x);
ret**n 0;
}
解密:
#include<bits/stdc++.h>
#include<conio.h>
#include<openssl/sha.h>
using name** std;
void BASE16(st**ng s){
int sum=0,l=0;
for(int i=0;i<s.size();i++){
if(s[i]>=128||s[i]<=0){
cout<<s[i]<<s[i+1];
i++;
continue;
}
if(s[i]=='X'){
cout<<char(sum);
l=0;
sum=0;
continue;
}
sum+=(s[i]-'0')*pow(9,l);
l++;
}
}
int main(){
freopen("input.txt","r",stdin);
**("title 代码解密工具");
st**ng x;
cout<<"加载你的加密代码:\n";
getline(cin,x);
cout<<"\n解密结果:\n";
BASE16(x);
ret**n 0;
}
薛乘志在2021-08-05 16:09:23追加了内容
抱歉,前面 (XACRAFT3.0)处原是图片,但是问答bug导致图片无法显示
薛乘志在2021-08-05 16:13:33追加了内容
由于问答屏蔽词感人,本帖已被感染
故提供下载地址
上文提到的XACRAFT3.0加密结果不提供下载
薛乘志在2021-08-05 16:19:29追加了内容
如果出现#include<openssl/sha.h>错误,可以删除
(头文件除了bits/stdc++.h均可删除)
薛乘志在2021-08-05 16:21:16追加了内容
Devc++5.11 似乎不支持#include<openssl/sha.h>
1
已采纳
沙宸安
高级启示者
高级启示者
糟 糕 ! 薛 氏 加 密 也 防 不 住 了 !
不 信 大 家 发 一 下 阿 拉 伯 数 字 6 4 试 试 看 。
注 : 这 个 自 动 打 空 格 是 我 研 究 出 来 的 玩 意 , 只 不 过 是 用 于 文 字 防 星 号 的 。
沙宸安在2021-08-05 23:01:41追加了内容
6 4:我究竟做错了什么?
0
0
0
0
0
0
0