Usage of bad hex conversion on digest array
Overview
Rule ID:
java_lang_bad_hex_conversion
Applicable Languages: Java
Weakness ID: CWE-704
Description
Your application uses Integer.toHexString
to convert a digest array buffer into a hexadecimal string, potentially leading to incorrect representations.
Risks
Using
Integer.toHexString
for converting a digest array buffer to a hexadecimal string can result in incorrect formatting or data loss, leading to potential security vulnerabilities. This misrepresentation may compromise data integrity and affect cryptographic functions relying on accurate digest values.
Remediation Guidelines
Do not use
Integer.toHexString
for converting digest arrays to hexadecimal strings due to the risk of inaccuracies.Instead, use
java.util.HexFormat
for accurate hexadecimal conversion in Java 17 and above:For Java versions prior to 17, consider using
javax.xml.bind.DatatypeConverter.printHexBinary
as an alternative for accurate hex conversion.
References
Configuration
To omit this rule during a scan, and to provide you with continuous 24/7 code-level scanning, you can employ our SAST TOOL
Last updated