-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NacosRefreshHistory uses BigInteger's toString(16) method to calculate md5. #3853
Labels
Comments
|
Test case: @Test
void testMD5Length() {
Random random = new Random();
for (int i = 0; i < 10_000; i++) {
int randomLength = random.nextInt(100);
// @see https://github.com/aventrix/jnanoid
String nanoid = NanoIdUtils.randomNanoId(NanoIdUtils.DEFAULT_NUMBER_GENERATOR, NanoIdUtils.DEFAULT_ALPHABET, randomLength);
String md5 = md5(nanoid);
if (md5.length() < 32) {
System.out.println(nanoid);
System.out.println(md5);
System.out.println(md5.length());
break;
}
}
}
// Output:
// pIzSCJjkj
// d5a0763f00d07ce414ea6ffc46d26a6
// 31
// Expect:
// 0 + d5a0763f00d07ce414ea6ffc46d26a6
// 0d5a0763f00d07ce414ea6ffc46d26a6 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
NacosRefreshHistory 直接采用 BigInteger 的 toString(16) 方法来计算 MD5,是否有计算结果长度不足32位数的风险?
NacosRefreshHistory uses BigInteger's toString(16) method to calculate md5. Is there a risk that the calculated result will be less than 32 digits long?
Which Component
Nacos 配置中心
Nacos(spring-cloud-starter-alibaba-nacos-config)
版本: 2023.x
version: 2023.x
Describe what problem you have encountered
直接采用 BigInteger#toString(16) 计算 md5
NacosRefreshHistory uses BigInteger's toString(16) method to calculate md5.
Describe what information you have read
直接阅读源码发现的。
I have read the source code of Nacos(spring-cloud-starter-alibaba-nacos-config).
The text was updated successfully, but these errors were encountered: