如何使用java或javascript处理特殊字符而不删除

时间:2016-03-31 08:00:10

标签: java encryption architecture

我正在为我们的分布式应用程序开发一个富文本编辑器,以允许用户在该编辑器中输入他/她的注释。在这里,我们允许用户从键盘输入注释并复制粘贴来自外部来源的注释,如互联网,MS-Word等。因此,这里我们需要保存用户输入的内容而不删除任何单个字符。

最初我想,我们需要加密评论并将其保存到数据库端,而用户想要查看他的评论,然后我们从数据库中获取并解密并显示给用户。但问题是,数据库中的加密数据/注释被不同的应用程序使用,因此我们需要在所有其他应用程序中实现相同的加密和解密机制....这是一个非常糟糕的主意。

所以,伙计们,如果有人对此有更好的想法。请发布答案。

感谢。

1 个答案:

答案 0 :(得分:1)

"encrypt"我假设您的意思是"escape" or "encode"

否则,为什么需要加密评论?请记住,您无法对加密数据执行数据库搜索。此外,如果攻击者要访问您的数据库并同时对您的应用程序进行反向工程,他/她仍然可以解密数据。从你给出的关于你的应用程序的细节来看,加密简单的#34;评论"

是没有意义的。

通常最好将原始数据存储在数据库中,并在将其显示给用户时将其转义。例如,假设您想要在用户输入数据库的文本中转义HTML。因此,在插入文本之前,您已转义所有HTML标记。但一年后,您希望改进其中一个应用程序,并允许<ol> <li ng-repeat="item in list | filter: { value : 'abc' }">test</li> </ol> <b>用于此特定应用程序。在这种情况下,更可取的是访问数据库中的原始原始数据,并在需要时(即在将其显示给用户之前)进行任何转义。

您可以阅读有关此主题的更多信息here