字符串加密(字符串和数组)

现要对一个由大写字母组成的字符串进行加密,有两种加密方法
(1)替换法:把一个字母替换成它之后的第k个字母,比如AXZ,k取2,加密后得到CZB(Z之后第二个字符为B)
(2)置换法:改变原来字符串中字母的顺序,比如将顺序<2 3 1>应用到ABC上得到的密文为BCA。(顺序<2 3 1>指将原字符串的第2个字符作为新字符串的第1个字符,将原字符串的第3个字符作为新字符串的第2个字符,以此类推)

这两种方法单独使用都很容易被人破解,所以我们将两种方法联合使用,对一个字符串进行两次加密,比如AXZ在k=2和顺序<2 3 1>下加密得到ZBC。
输入
包含若干组数据,每组数据一行。一组数据由三部分组成:待加密的字符串(长度不超过30)、k、顺序。
输出
对于每组数据输出一行,为加密后的字符串.
样例输入
AXZ 2 2 3 1
VICTORIOUS 1 2 1 5 4 3 7 6 10 9 8
样例输出
ZBC
JWPUDJSTVP
AC代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
int a[10010];
int main()
{
    string s;
    while(cin>>s)
    {
        int k;
    cin>>k;
    for(int i=0;i<s.size();i++)
    {
        s[i]+=k;
        if(s[i]>90)
        {
            s[i]-=26;
        }
        if(s[i]<65)
        {
            s[i]=65-s[i];
        }
    // cout<<s[i];
    }
    for(int i=0;i<s.size();i++)
    {
        cin>>a[i];
    }
    for(int i=0;i<s.size();i++)
    {
        cout<<s[a[i]-1];
    }
    cout<<endl;
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
LabVIEW是一种流程编程语言,可以用于各种应用程序的开发。在LabVIEW中实现字符串加数字加密是可以的。 首先,我们需要将字符串拆分成单个字符。可以使用“String To Array”函数来实现这一点,将字符串作为输入,并设置输出为一维数组。然后,我们可以使用“Index Array”函数逐个获取数组中的字符。将取得的字符与要加密的数字相加,并将结果转换为ASCII码。可以使用“Number to ASCII”函数将数字转换为ASCII码。 接下来,我们需要将加密后的字符重新组合成一个字符串。可以使用“ASCII to Number”函数将ASCII码转换为数字。然后,将该数字与要减去的数字相减,得到解密后的数字。最后,使用“Array to String”函数将解密后的数字转换为字符串,并将其与之前的字符依次连接起来。 需要注意的是,加密和解密的过程是对称的,所以我们可以使用相同的方法进行解密。 在LabVIEW中,我们可以使用字符串处理的函数和数组操作函数,以及数学函数,如加法和减法,来实现字符串加数字加密。这种加密方法可以用于保护敏感信息,确保只有授权人员能够解密和访问这些信息。 总结起来,LabVIEW可以用来实现字符串加数字加密。通过将字符串拆分为字符,与数字相加并转换为ASCII码,然后将加密后的字符重新组合成字符串,我们可以实现这一加密过程。对于解密,可以将ASCII码转换为数字,与相应的数字相减并重新组合成字符串,从而实现解密过程。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值