请教怎样将汉字转成二进制编码?

C语言 码拜 6年前 (2015-05-11) 330次浏览 0个评论
 

最近要写个中文信息加/解密的小程序,要用到这个,该如何实现啊?谢谢!

50分
汉字本身就是一个16位的整数,你直接用就好了。例如采用如下方法加密:
char Text[]=”加密”;
for(int i=0;i<strlen(Text);i++)
    Text[i] ^= 0x80;
这样产生的结果是一串无法显示的字符串。解密的时候用 Text[i] ^= 0x80就可以了。如果你想复杂点,在异或多几个数就行了,解密的时候从头异或一遍。
这种加密方法好容易被破解的啊,只要跟踪一下就可以了
16位二进制存在数组里的
用什么方法都可以破解的啦,站在别人身边偷看人家输入密码也算是破解,防不胜防的。所以我觉得加密不必搞得自己太麻烦。如果非要别人跟踪不了,那就自己主动进入debug mode,别人一跟踪就死机,哈哈。
其实要加密用dolphi(李江) 的方法就行了平常我们老想着加密要让别人破不了其实没有必要。想破你的密人家总是会破解的像dolphi(李江) 说的那就自己主动进入debug  mode,别人一跟踪就死机,那别人不用debug跟踪不就行了,这些软件海了去了。
20分
什么意思?汉字本来就是16位二进制的
我就是想取汉字的二进制码啊,只是原先有些模糊,不知该怎么取
至于加/解密算法,我是用来给数据库某些字段写入时加密的,其实我觉得用TEA加密算法就行了
忽然觉得自己似乎问了个很蠢的问题,汉字本来就是16位二进制的,跟本就不用转嘛。
想问一下,是不是比如:
char Text[]=”加密”;
数组里取到的就是”加密”的二进制编码了?
忽然觉得自己似乎问了个很蠢的问题,想问一下,是不是比如:
char Text[]=”加密”;
数组里取到的就是”加密”的二进制编码了?
30分
对呀。汉字本身就是两个字节的二进制编码。不用转换。如果需要加密,直接作为参数传入加密函数就可以了。解密后还是会还原为汉字显示的。
请问这句什么意思?
Text[i]^=  0x80;
//Text[i]^是指针,解除引用?

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请教怎样将汉字转成二进制编码?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!