2013-08-19 42 views
0

假如我有一个不同长度和密码短语的字节数组,以平台无关的方式加密它的最快方法是什么?使用C/C++加密数据块,独立于平台

PS。我可以在密码短语上创建一个SHA1摘要,但是如何将它应用于字节数组 - 做一个简单的重复XOR使其显而易见。

PS2。对不起,加密的家伙,如果我要求太明显的东西...

+1

除非你知道自己在做什么,否则不要以任何组合方式使用SHA1或XOR请参阅,例如http://stackoverflow.com/questions/12151178/c-aes-encryption-class – JoshG79

+0

你通常不会用*哈希加密*,你*加密哈希*(即签名)。你可能需要刷上你的密码。 – WhozCraig

+2

任何C或C++规范的版本均不在其标准库中提供任何加密函数。因此你需要一个第三方库。 [OpenSSL](http://openssl.org/)是合理的标准,[NaCl](http://nacl.cr.yp.to/)看起来很有希望。 – Nemo

回答

2

一个哈希(如sha1)创建一个单向的结果,你不能解密一个哈希。异或数据是不安全的,

如果您需要解密数据,那么我建议使用类似Twofish的东西,它使用对称密钥块密码,并且不受许可或专利的限制(因此您可以找到平台无关的参考代码)