以下 AES 密钥是否存在漏洞?

问题描述 投票:0回答:1

我正在搜索一个应用程序的源代码。我想检查里面是否有硬编码的密钥,所以我搜索了关键字。我发现了以下内容:

package com.igen.configlib.constant;
public class Constant{
    public static final String AES_KEY="1111111111111111";
    public static final String AES_KEY_PRE=""214028";
    public static final String AES_VECTOR="1111111111111111";
    ...
    
}

上述信息是否可以被视为硬编码密钥漏洞等漏洞,或者是无关紧要的东西?

我是移动和java新手,所以你能解释一下它们是什么意思吗

它们用于:

.....

public static byte[] encrypt4CBC128ByDeviceSN(String str, String str2){
    String formatKeyAndVector=formayKeyAndVector(str2);
    return encrypt4CBC128(str, formatKeyandVector,formatKeyandVector)
}
public static byte[] encrypt4CBC128(String str){
    return encrypt4CBC128(str,"1111111111111111","1111111111111111")
}

....

 public static byte[] decrypt4CBC128ByDeviceSN(byte[] bArr, String str){
    String formatKeyAndVector=formayKeyAndVector(str);
    return decrypt4CBC128(str, formatKeyandVector,formatKeyandVector)
}
public static byte[] decrypt4CBC128(byte[] bArr){
    return decrypt4CBC128(bArr,"1111111111111111","1111111111111111")
}

....
java android security aes
1个回答
1
投票

ASE(高级加密标准)是一种对称密码,即只有一个密钥并且应该是秘密的。它既用于加密又用于解密。因此,获得您密钥的第三方可以破译您的消息。 因此,是的,如果泄露,这就是一个漏洞。

这绝不应该作为代码存储在任何中央 cv 中,只能存储在专用的秘密存储中。但实际上,在发出红色警报之前,该特定密钥可能用于某些测试环境或本地开发,实际上如果泄露不会造成任何损害。这并不罕见,尽管仍然是不好的做法,因为误报使得像您的搜索(或 github、gitlab 等提供的类似搜索)值得使用和信任。

© www.soinside.com 2019 - 2024. All rights reserved.