我有一个接收Unicode数据的API,但是我只需要将ASCII存储在其中。我想压缩和混淆(或加密)将在Unicode中持久化的字符串值。
我的愿望是要么压缩这个模式数据,要么从窥探中加密它。我认为两者都做不好。
考虑到我希望将我的源数据限制为有效的、可打印的ASCII;我如何将原始字符串值“压缩”成一个更小、更模糊或两者兼而有之的值?
下面是我的设想(尽管您可能有更好的方法):
(请注意,将使用实用程序来强制执行约束,即“最终”Unicode名称必须不包括以下字符'/‘、'\’、'#‘、'?’?或“%”)
背景
Microsoft表有一个API,用于接受存储或属性名称的Unicode数据。这是一个无模式的数据库(因此可以临时创建列),因此模式存储在每一行。缺点是这个模式数据被多次存储在磁盘上,而且它也是通过有线(相当冗余)在XML blob中传输的。
此外,我正在开发一个实用程序,它是动态加密/解密Azure表数据,的,但是模式是未加密的。我想以某种方式掩盖或混淆这个标题信息。
发布于 2011-08-04 20:57:34
这些只是一些想法。
第3步不是很简单吗(只需将数据压缩和/或加密成不同的字节)?对于7位的ASCII,您还可以在压缩和/或加密之前,通过打包数据来存储数据,这样它们才能容纳更少的字节。
如果您可以在步骤5中使用UTF-32、UTF-8等,则可以访问Unicode标准中的所有字符,最多可达0x10FFD,但有一些例外;例如,一些代码点是Unicode标准中的非字符,例如0xFFFF,而另一些则是无效字符,例如0xD 800。
https://stackoverflow.com/questions/6947956
复制相似问题