首页 > 其他分享 >密码学实验加密解密

密码学实验加密解密

时间:2024-12-08 09:29:35浏览次数:5  
标签:case 加密 cout ++ 解密 break str 密码学 out

源代码:【免费】密码学实验加密解密实现资源-CSDN文库

#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
int max(int str[])
{
    int max=0,i,n;
    for(i=0;i<26;i++)
    {
        if(max<str[i])
        {
            max=str[i];
            n=i;
        }
    }
    if(max>0) return n;
    else return 100;
}
int main()
{
    int str[26]={0};
    int str1[26]={0};
    int i,j=0,k=0;
    char x,y;
    char m[26]={0};
    fstream in1("mima.txt",ios::in);
    while(!in1.eof())
    {
        in1>>x;
        switch(x)
        {
        case 'A':str[0]++;break;
        case 'B':str[1]++;break;
        case 'C':str[2]++;break;
        case 'D':str[3]++;break;
        case 'E':str[4]++;break;
        case 'F':str[5]++;break;
        case 'G':str[6]++;break;
        case 'H':str[7]++;break;
        case 'I':str[8]++;break;
        case 'J':str[9]++;break;
        case 'K':str[10]++;break;
        case 'L':str[11]++;break;
        case 'M':str[12]++;break;
        case 'N':str[13]++;break;
        case 'O':str[14]++;break;
        case 'P':str[15]++;break;
        case 'Q':str[16]++;break;
        case 'R':str[17]++;break;
        case 'S':str[18]++;break;
        case 'T':str[19]++;break;
        case 'U':str[20]++;break;
        case 'V':str[21]++;break;
        case 'W':str[22]++;break;
        case 'X':str[23]++;break;
        case 'Y':str[24]++;break;
        case 'Z':str[25]++;break;
        default :break;
        }
    }
    in1.close();
    for(i=0,x='A';i<26;i++,x++)
    {
        str1[i]=str[i];
        cout<<x<<':'<<str[i]<<'\t';
        if(i%5==0) cout<<'\n';
    }
    cout<<endl;
    for(k=0;k<26;k++)
    {
        j=max(str1);
        if(j>26)  break;
        else
        {
            str1[j]=0;
            switch(k)
            {
            case 0:m[j]='E';break;
            case 1:m[j]='T';break;
            case 2:m[j]='A';break;
            case 3:m[j]='O';break;
            case 4:m[j]='I';break;
            case 5:m[j]='N';break;
            case 6:m[j]='S';break;
            case 7:m[j]='R';break;
            case 8:m[j]='H';break;
            case 9:m[j]='L';break;
            case 10:m[j]='D';break;
            case 11:m[j]='C';break;
            case 12:m[j]='U';break;
            case 13:m[j]='M';break;
            case 14:m[j]='F';break;
            case 15:m[j]='P';break;
            case 16:m[j]='G';break;
            case 17:m[j]='W';break;
            case 18:m[j]='Y';break;
            case 19:m[j]='B';break;
            case 20:m[j]='V';break;
            case 21:m[j]='K';break;
            case 22:m[j]='X';break;
            case 23:m[j]='J';break;
            case 24:m[j]='Q';break;
            case 25:m[j]='Z';break;
            }
        }
    }
    cout<<"密码对应为:"<<endl;
    for(i=0,x='A';i<26;i++,x++)
    {
        cout<<x<<':';
        if(m[i]>64&&m[i]<91)
            cout<<m[i]<<endl;
        else
            cout<<endl;
    }
    fstream in2("mima.txt",ios::in);
    fstream out("mmm.txt",ios::out);
    while(!in2.eof())
    {
        in2>>x;
        switch(x)
        {
        case 'A':out<<m[0];break;
        case 'B':out<<m[1];break;
        case 'C':out<<m[2];break;
        case 'D':out<<m[3];break;
        case 'E':out<<m[4];break;
        case 'F':out<<m[5];break;
        case 'G':out<<m[6];break;
        case 'H':out<<m[7];break;
        case 'I':out<<m[8];break;
        case 'J':out<<m[9];break;
        case 'K':out<<m[10];break;
        case 'L':out<<m[11];break;
        case 'M':out<<m[12];break;
        case 'N':out<<m[13];break;
        case 'O':out<<m[14];break;
        case 'P':out<<m[15];break;
        case 'Q':out<<m[16];break;
        case 'R':out<<m[17];break;
        case 'S':out<<m[18];break;
        case 'T':out<<m[19];break;
        case 'U':out<<m[20];break;
        case 'V':out<<m[21];break;
        case 'W':out<<m[22];break;
        case 'X':out<<m[23];break;
        case 'Y':out<<m[24];break;
        case 'Z':out<<m[25];break;
        default :out<<x;break;
        }
    }
    in2.close();
    out.close();
    cout<<"请去mmm文件查询明文!"<<endl;
    return 0;
}

标签:case,加密,cout,++,解密,break,str,密码学,out
From: https://blog.csdn.net/XLYcmy/article/details/144198909

相关文章

  • NTLM凭证是Windows身份验证中使用的加密哈希凭证,主要用于验证用户身份。尽管其存在安
    WindowsNTLM(NTLANManager)WindowsNTLM凭证是Windows操作系统中一种身份验证协议使用的凭证,NTLM(NTLANManager)是Microsoft的身份验证协议之一,主要用于对用户进行身份验证和访问控制。NTLM凭证通常由用户的用户名和密码组合生成,是Windows系统中认证用户身份的关键机制之一,尤其......
  • Kerberos 是一种基于票证的身份验证协议,在 Windows 环境中提供了强大的安全性、单点登
    Kerberos5协议是一个计算机网络身份认证协议,用于安全地验证通信双方的身份并加密它们之间的通信。它最初由麻省理工学院(MIT)开发,成为许多现代操作系统(如Windows、Linux、Unix)中的标准身份验证协议之一。Kerberos协议特别适用于客户端与服务器之间的身份验证,广泛应用于局域网(LAN......
  • uboot添加密码保护功能
    uboot添加密码保护功能让boot更具安全性linux在进入系统后,一般都有用户名和密码验证,可以有效的防止非授权用户获取操作权限。密码一般密存在/etc/passwd文件中。但是我们常用的uboot、pmon等bootloader程序,很少看到有做密码保护功能。进入boot循环后,可以操作内核及文件系......
  • Cipher001__斯坦福密码学__What Is Cryptography
    1、Cryptographycore密码学核心Secretkeyestablishment建立密钥Securecommunication安全通信Providebothconfidentialityandintegrity提供保密性、完整性保密性:窃听者无法得到明文完整性:窃听者无法更改消息2、More更多Digitalsignatures数字签名An......
  • 实现不可逆加密文件:探索 GodoOS 的安全机制
    在当今数字化时代,数据安全成为了企业和个人关注的重点。为了保护敏感信息不被未授权访问,各种加密技术应运而生。本文将探讨GodoOS项目中实现的一种不可逆加密文件的方法,重点介绍其背后的原理和技术细节。1.项目背景GodoOS是一个基于Go语言开发的云存储平台,旨在为用户提......
  • Java 注解实现字段加密和解密
    前言一般对防止数据泄露有两种方式,第一种是在数据库层面去做加密,还有一种就是在应用层去加密。数据库层面做数据加密的是最安全的,实现需要对驱动做操作,略显复杂,如果对保密程度不是非常高,可以在应用层面去实现数据加解密。下面将基于应用层面结合aop去实现数据加解密功能。1.引入......
  • Springboot请求参数解密
    新建一个 HttpServletRequestWrapper实现类,在Filter中使用该类包装原requestimportcn.hutool.core.collection.CollUtil;importcn.hutool.core.io.IoUtil;importcn.hutool.core.map.MapUtil;importcn.hutool.core.net.URLDecoder;importcn.hutool.core.text.CharSeq......
  • 【Python小随笔】使用加密方式进行QQ邮件发送
    #提示defsmtpSend(mail_msg):Q="你的QQ号"#邮箱服务器及认证信息mail_host="smtp.qq.com"mail_user=f"{Q}@qq.com"mail_pass="邮箱秘钥"#发件人和收件人sender=f"{Q}@qq.com"recipients=[f......
  • Java和.Net互相使用RSA加密时的问题和处理方法
    前言我们产品是使用JAVA语言开发的,有个供第三方获取Token的接口,过程大概就是第三方先调一个注册接口,获取一个RSA公钥,然后用通过公钥加密后的一些认证信息调用获取Token的接口,如果信息无误,则发放Token。前段时间就遇到了对方是使用.Net进行开发的系统,在第一步获取公钥时没用问题,......
  • 密码学,算法在人工智能的实战利用
      在人工智能(AI)的快速发展中,数据安全和隐私保护成为了核心议题。密码学,作为保护信息安全的基石,其在AI领域的应用显得尤为重要。本文将探讨密码学在AI中的利用,并提供一些代码示例来展示其实际应用。密码学的概述即常用加密方式密码学(Cryptography)是数学和计算机科学的一个......