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

时间:2017-06-18 17:40:36

标签: 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 220 and 244)
* Convert this to character (will get extended ascii codes)
* Save these characters to file. 

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

1 个答案:

答案 0 :(得分:0)

只有一组有限的ASCII字符。有95个可打印的字符,如'A',但也有空格字符。有33个可打印的字符,如换行,回车,NUL,还有DELETE。因此,您不能使用246个ASCII字符,因为总共只有128个字符。 ASCII严格为7位,为您提供2 ^ 7 = 128个可能的值。

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

您可以做的当然是将数据保存为字节。每个字节有256个可能的值(通常为0到255或-128到127)。只要你打开文件为二进制文件就没问题。

您当然可以根据需要在文件中存储任意数量的字符,直到文件系统或操作系统限制。所以我认为你没有问