Encryption 简单字符串加密-更高ascii字符的安全性

Encryption 简单字符串加密-更高ascii字符的安全性,encryption,ascii,disk,Encryption,Ascii,Disk,我正在尝试为字符串创建一个简单的加密方案。字符串的每个字符都被赋予另一个ascii值 它需要将多达246个ascii字符写入磁盘上的一个简单文件 我想知道将这些特殊字符写入磁盘是否安全,或者是否会导致不良结果。谢谢你的帮助 编辑:我正在考虑类似以下的算法: * Convert each character of string to its integer number (hence 110 for 'n' and 122 for 'z') * Double that number (get 22

我正在尝试为字符串创建一个简单的加密方案。字符串的每个字符都被赋予另一个ascii值

它需要将多达246个ascii字符写入磁盘上的一个简单文件

我想知道将这些特殊字符写入磁盘是否安全,或者是否会导致不良结果。谢谢你的帮助

编辑:我正在考虑类似以下的算法:

* Convert each character of string to its integer number (hence 110 for 'n' and 122 for 'z')
* Double that number (get 220 and 244)
* Convert this to character (will get extended ascii codes)
* Save these characters to file. 

使用常用的文本文件写入功能将这些文件保存到磁盘文件是否安全?

只有有限的ASCII字符集。有95个可打印字符,例如“A”,还有空格字符。有33个可打印字符,例如换行符、回车符、NUL,但也可以删除。因此,您不能使用246个ASCII字符,因为总共只有128个可用字符。ASCII严格来说是7位,给出2^7=128个可能的值

即使您使用ISO 8859拉丁字符集或Windows-1252字符集,您仍然需要处理不可打印的控制字符,留下256-33-5个字符或218个字符。Windows-1252仍有5个未定义的字符

当然,您可以将数据保存为字节。每个字节有256个可能的值(通常为0到255或-128到127)。只要您以二进制方式打开文件,这就不会造成问题



当然,在文件系统或操作系统的限制下,您可以在文件中存储任意数量的字符。所以我想你没有问这个。

什么是“ascii字符最多246个”呢?请注意,我们处于后ascii世界,这不仅仅意味着其他语言,想想表情符号吧。@JamesKPolk和@Zaph:请看我上面问题中的编辑。我看不出有任何理由改变我的答案。读/写加密字节,解密为字符并显示。这样,您就不需要深入了解有关字符集的所有细节,这比破解加密代码要复杂得多。