| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:加密函数解决
只看楼主 加入收藏
baby俊
Rank: 1
等 级:新手上路
帖 子:22
专家分:5
注 册:2011-3-22
结帖率:88.89%
收藏
已结贴  问题点数:10 回复次数:4 
加密函数解决
#include<iostream>
using namespace std;
void encrypt(char s[],int n)
{
    for(int i=0;i<n-1;i++)
        if(s[i]<0)
        {char t=s[i];s[i]=s[i+1];s[i+1]=t;//这里交换前后两个字节是怎么交换的啊?比如输入“请支付1000¥到MIKE的账户”,加密是怎么完成的?弄不懂,望有人指教
        i++;
        }
}
int main()
{
    char text[1024];
    cout<<"请输入一个中英文字符串:";
    cin.getline(text,1024);
    int len=strlen(text);
    encrypt(text,len);
    cout<<"密文为:"<<text<<endl;
    encrypt(text,len);
    cout<<"解密后为:"<<text<<endl;
    return 0;
}
搜索更多相关主题的帖子: 字符串 
2011-04-07 18:44
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:5 
你自己输入几个字串试试不就知道了。
2011-04-08 08:36
baby俊
Rank: 1
等 级:新手上路
帖 子:22
专家分:5
注 册:2011-3-22
收藏
得分:0 
就是不知道是怎么交换的啊?比如输入“请支付1000¥到MIKE的账户”这个是怎么交换啊。。
2011-04-08 18:22
Lyone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:195
注 册:2010-12-7
收藏
得分:5 
百度到这样一段话:
一个char 型是不可能知道是不是字符的,如果你确定这个字符要不是ASCII码就一定是汉字的活可以判断这个字符的BIT7位是否为1,因为ASCII码里面的可显示字符全都是BIT7位为0,而汉字是用两个char型组成的,并且第一个char型的第一位的BIT7位一定是1。
程序代码:
    for(int i=0;i<n-1;i++)
        if(s[i]<0)//个人觉得,这里就是判断那个BIT7是否为1,如果为1的话即小于零,即为汉字,则将该字符与下一字符对调。
        {char t=s[i];s[i]=s[i+1];s[i+1]=t;
        i++;//这里是该字符的下一个字符。
        }
对调之后的汉字就变成了乱码的样子。
2011-04-08 20:50
baby俊
Rank: 1
等 级:新手上路
帖 子:22
专家分:5
注 册:2011-3-22
收藏
得分:0 
也就是对于一个汉字来说,由两个字符数来表示,且第一个字符的第一位一定顶是一。表示的就是一个负数即s[i]<0;
2011-04-15 11:51
快速回复:加密函数解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026524 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved