Encryption 什么';使用著名的加密算法有什么好处?
我可以很容易地手工制作自己的加密算法,如下所示:Encryption 什么';使用著名的加密算法有什么好处?,encryption,des,Encryption,Des,我可以很容易地手工制作自己的加密算法,如下所示: // make sure the private key is long enough byte key[] = {0x3e, 0x33, 0x7e, 0x02, 0x48, 0x2a, 0x4e, ...}; byte data[] = "a string to be encrypted".getBytes("utf-8"); for (int i = 0, j = 0; i < data.length; ++i, ++j) {
// make sure the private key is long enough
byte key[] = {0x3e, 0x33, 0x7e, 0x02, 0x48, 0x2a, 0x4e, ...};
byte data[] = "a string to be encrypted".getBytes("utf-8");
for (int i = 0, j = 0; i < data.length; ++i, ++j) {
data[i] ^= key[j];
if (j + 1 == key.length)
j = 0;
}
//确保私钥足够长
字节键[]={0x3e,0x33,0x7e,0x02,0x48,0x2a,0x4e,…};
字节数据[]=“要加密的字符串”。getBytes(“utf-8”);
对于(int i=0,j=0;i
使用上面的算法,如果我不泄露私钥,我就找不到破解加密的简单方法(或者我太天真了?),如果可以像这样轻松创建加密算法,那么创建标准有什么意义?使用这些知名算法的好处是什么?使用知名算法的主要好处是,将对其缺陷和弱点进行审查和分析。如果你自己动手,你就得不到社区评论的好处。此外,根据您的平台,使用内置加密几乎同样容易,或者说同样容易 我不是密码分析专家,但这么简单的东西可能不那么安全
此外,如果这很容易,不是每个人都会这么做吗 直接说一下您提出的算法,它有两个主要问题:
像AES这样的著名算法解决了这类问题,使用短密钥来获得更高的安全性。一个256位密钥可用于在不安全使用之前对大量消息进行加密,并且管理和存储256位密钥比1GB密钥容易得多。您可以使用一种众所周知的算法来进行加密 声明说:“任何人都可以发明一种安全系统,这种系统非常聪明,以至于她或他想不出如何打破它。”
这基本上意味着:安全系统(加密算法、身份验证系统等)不能被认为是安全的,因为创建者说它是安全的。该主题的其他专家必须对其进行审查(通常审查很长时间),才能认为它是安全的。如果你否决了我的问题,请在这里留下你的理由!这里有一些很好的理由:谢谢你,这就是我想要的答案!它清楚地指出了我的算法的缺陷,这有助于我理解为什么它是不安全的,为什么我应该使用一个著名的算法而不是手工制作的算法。再次感谢你,彼得,这真的很有帮助!第一个链接很有趣,我不会成为戴夫!