我必须使用DES算法和在MD5中创建的散列来加密文本。MD5函数有两个参数: salt (byte8)和key (string 6),它必须迭代1000次。当我传递MD5加密函数时,它会返回一个byte16。
DES函数的参数是:要加密的字符串和密钥(由MD5函数返回)。但是,当我尝试将键值分配给键编码器时,我得到了一个异常,因为它等待的是bte8而不是byte16。我已经尝试获取前8个字节或最后8个字节.....但它不起作用(我有一个例子,我必须得到相同的结果)。
一些想法?
发布于 2009-12-14 16:41:02
DES (不要与3DES混淆)有56位密钥。您的问题需要更多的定义才能确定密钥的正确选择。
今天没有理由使用DES。有更好的、未被破坏的算法可用。
发布于 2009-12-14 16:39:38
为什么要使用散列作为加密密钥?密钥应该是加密安全的随机数据,而散列不是这样的。散列本身根本不是加密。
DES密钥通常是以8字节打包的56位,所以从散列中取出前8个字节意味着你的密钥太长了(取决于它是有符号的还是无符号的),如果你必须使用散列作为源,你需要提取56位。
https://stackoverflow.com/questions/1899681
复制相似问题