一个简单而专业的办法是,你用DES加密,加密后,这句话就成了密文。
还有一个办法,你自己随便编一个128的乱序ASCII字符对应表,其实就是在程序中加个128字节的常量数组,然后将你的那句话逐字节的查表替换就可以生成密文了。
如果首位插入一个1,则其余各位都向右移动一位,末位将被丢弃,这样一来,解密就无法还原原数据了,因为无法知道加密时丢弃的是1还是0。
文件分为文本文件和二进制文件。加密方法也略有不同。
1、文本文件
加密的主要是文本的内容,最简单的方法就是修改文档的内容,比如1.txt中的文件内容:
abcd
只要给每一个字符+1,就可以实现加密。文件内容即会变为
bcde
2、二进制文件加密
二进制文件加密也就是对应用程序加密,需要理解可执行文件格式,比如Windows平台的Exe文件它是PE结构,Linux上的可执行文件是ELF结构,要对这样的程序进行加密,实际上是开发一种叫做“壳”的程序,这种程序的开发,需要将扎实的底层基础,同时也需要对软件加密解密有细致的理解,比如流行的vmprotect、z壳以及早些年的upx壳、aspack等等。
3、无论哪种加密都牵涉到文件操作的问题,使用C语言进行文件操作时,极少使用C标准库中的I/O函数,大多数使用操作系统提供的内存文件映射相关的API函数,有兴趣,可以搜索相关的资料。
针对文件二进制数据进行异或编码
Byte(原始) 异或 key(秘钥) = Byte(加密后),Byte(加密后) 异或 key(秘钥) = Byte(原始)
keys = byte[]
值是固定的
这种加密,特点是快速高效,但是容易被破解
对称加密就可以了,首先需要一个密钥,自定义的,然后把字符串一个一个转换成asc,密钥也是,循环密钥进行asc值的相加。解密就是把密文用相同密钥,循环进行相减就可以了。二进制也一样,把字符串转成二进制,在某个字符下,加多一个字符,对字符进行移位, 解密也是这样,去掉那个字符。然后进行回移