这是我的第一个问题。任何人都可以看到 mega.co.nz 对数据使用高级加密,就像 truecrypt 一样。我有一个算法,它使用原始文本和密钥作为参数来加密字符串:
function fnEncrypt($Value, $SecretKey)
{
return rtrim(
base64_encode(
mcrypt_encrypt(
MCRYPT_RIJNDAEL_256,
$sSecretKey, $sValue,
MCRYPT_MODE_ECB,
mcrypt_create_iv(
mcrypt_get_iv_size(
MCRYPT_RIJNDAEL_256,
MCRYPT_MODE_ECB
),
MCRYPT_RAND)
)
),
);
}
这两个参数,由用户给定。在 mega.co.nz 上,使用鼠标会自动生成一个密钥,该密钥会加密所有内容。我怎么能做这样的事情?以及 mega.co.nz 或其他具有相同安全性的站点如何将此密钥存储在数据库中?在数据库上拥有这个密钥是不安全的,不是吗?此外,如果最大文本为 250 个字符,加密时间会更长吗?我们可以计算出一个密文的长度吗?使用最大原始字符串,250 个字符。
我打算开发一种算法来使 URL 最短以节省空间,但这没有价值,因为原始 URL 也必须存储在数据库中?先感谢您。