首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >空间高效的加密/解密?

空间高效的加密/解密?
EN

Stack Overflow用户
提问于 2018-06-05 04:23:20
回答 2查看 189关注 0票数 -1

对某些数据进行加密以使加密的数据满足以下任一约束的最有效的空间方法是什么:

1)适合32字节或更少的十六进制(64个字符)

2)适合28个字节或更少的utf-8字符(28个字符)

3)适合64位无符号整数

其目标是加密一些数据(如用户id +随机数),并将其公开存储在区块链上,然后在服务器上解密。我正在使用的区块链的存储需求(Stellar memos -- https://www.stellar.org/developers/guides/concepts/transactions.html#memo)。

我正在寻找节省空间的加密算法,或者加密+无损压缩的某种组合,以使其适合。

将有两个需要加密的输入:一个用户id和一个nonce --假设我们可以将这两个输入都限制在25个字符以内。

示例:

代码语言:javascript
复制
encrypt("7863439|12343567") -> "385acd1ca0ab619b9f832025fa358b69"
decrypt("385acd1ca0ab619b9f832025fa358b69") -> "7863439|12343567"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-05 06:06:18

使用AES-256或Twofish-256将得到256位= 32字节。这符合你的第一个要求。两者都是节省空间的。当然,这取决于你如何定义“效率”。

票数 1
EN

Stack Overflow用户

发布于 2018-06-05 04:37:02

也许你可以使用散列而不是加密。对您的数据进行哈希处理并将其存储在服务器上。查找将与您存储的散列冲突的输入数据是很困难的。使用输出32字节数据的强大散列算法,就完成了。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50688231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档