在 Google Gears Workerpool 中加密 JSON

发布于 2024-08-02 17:51:16 字数 581 浏览 5 评论 0原文

我需要在 Google Gears Workerpool 中加密 JSON(字符串化)数据。到目前为止,我尝试的任何实现要么会消除 Gears Workerpool 错误,要么会提供不需要的加密字符串。

例如: DES 加密(由于帐户限制,无法发布 URL)

这对于大多数应用程序来说都非常有效,除了在加密我的 JSON 后,它会在我不想要的地方添加换行符。解密只会导致无法使用的损坏字符串。

例如: AES 加密(由于帐户限制,无法发布 URL)

理论上,这也有效,但是一旦我将源代码粘贴到我的 Workerpool javascript 文件中,Gears Workerpool 就会给出模糊的错误消息。从所述工作池中删除脚本后,一切都会再次起作用。

我正在寻找:

一个非常简单的 JavaScript 加密实现,它使用密钥来加密和解密数据。使用密钥(或密码,如果您愿意的话)很重要。此外,加密典型的 JSON 字符串并解密同一字符串应该会产生完美的结果。

这一切都非常重要,因为它涉及离线使用的医疗数据。因此,如果您对如何在 Google Gears (sqlite) 数据库中安全存储 JSON 数据有任何其他想法,我洗耳恭听!

I need to encrypt JSON (stringified) data in a Google Gears Workerpool. So far, any implementation I tried either makes the Gears Workerpool bug out, or gives me unwanted encrypted strings.

For example: DES encryption (can't post URL due to account restrictions)

This works brilliantly for most applications, except after encrypting my JSON, it adds linebreaks where I don't want them. Decrypting only results in a broken string that can't be worked with.

For example: AES encryption (can't post URL due to account restrictions)

This also works, in theory, but once I paste the source code into my Workerpool javascript file, the Gears Workerpool gives a vague error message. Upon removing the script from said Workerpool, it all works again.

What I am looking for:

A very simple encryption implementation in javascript, that uses a key to encrypt and decrypt data. Using a key (or password, if you will) is important. Additionally, encrypting a typical JSON string and decrypting that same string should result in perfect results.

It is all pretty important, as it involves medical data for offline usage. So if you have any other ideas on how to safely store JSON data in the Google Gears (sqlite) database, I'm all ears!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与往事干杯 2024-08-09 17:51:16

也许这并不能直接回答您的问题,但 Dojo 离线版在 Dojo SQL 语法中有类似 ENCRYPT 和 DECRYPT 的内容,这可能会有所帮助。您可以在此处找到此功能的用法

Maybe this is not answer directly to your question but Dojo offline have something like ENCRYPT and DECRYPT in Dojo SQL syntax this can be helpful. Usage of this can be found here

酒绊 2024-08-09 17:51:16

我通过一位友好的同事找到了答案。首先我应用 DES 加密,然后应用 BASE64 编码。然后将该字符串保存到数据库中。

反向解密也可以,但会导致另一个令人不安的问题。显然,我的 JSON 有三分之二突然无效,在尝试使用 javascript 的 EVAL 函数(或 JSON 的 JSON.parse 方法)解析它时,它会返回异常:非法字符。

我会尝试解决这个问题,或者提出一个新问题;)

干杯!

I found the answer through a friendly colleague. First I apply the DES encryption, after which I apply BASE64 encoding. This string is then saved into the database.

Decrypting in reverse also works, but leads to another troubling issue. Apparently 2 out of 3 times my JSON is suddenly invalid, upon trying to parse it using javascript's EVAL function (or JSON's JSON.parse method) it returns an exception: Illegal character.

I'll try to fix that or otherwise open up a new question ;)

Cheers!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文