我应该使用哪种加密策略

时间:2018-12-09 04:21:21

标签: javascript firebase encryption

我正在构建一个笔记应用程序。 我想向我的用户保证,他们的数据在联机存储(Firebase Firestore)时是加密的,除了他们之外,其他任何人都无法读取它。 我希望该应用程序保持简单,以免登录(无需密码)(暂时)。

我正在考虑使用crypto-js来完成这项工作。它支持许多不同的加密类型。我要看的是AES:

// Encrypt
var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123');

// Decrypt
var bytes  = CryptoJS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var plaintext = bytes.toString(CryptoJS.enc.Utf8);

AES使用秘密密钥。我想做的是在客户端生成并存储该密钥,在数据泄露到互联网之前对其进行加密,并在数据返回时对其进行解密。

我的问题是

  • 还有其他更适合要求的加密类型吗?笔记可能会是一大段文字。在这种情况下,AES是否做得好?
  • 这种策略甚至有意义吗?显然,Firestore已经对数据进行了加密,但是由于没有登录名,任何具有对象ID的人都可以读取它(管理员-我-可以戳入数据库并读取敏感数据)

0 个答案:

没有答案