类型: 安全缺陷
在hash加密的过程,缺少必要的步骤,会削弱所生成hash值的强度。
例如:下列代码片段中,缺少MessageDigest.update()的调用,导致创建不基于任何数据的hash值。
MessageDigest messageDigest = MessageDigest.getInstance("SHA-512");//messageDigest.update(inputText.getBytes()); //lack of necessary stepsbyte byteBuffer[] = messageDigest.digest();StringBuilder strHexString = new StringBuilder();for (int i = 0; i < byteBuffer.length; i++) {String hex = Integer.toHexString(0xff & byteBuffer[i]);if (hex.length() == 1) {strHexString.append('0');}strHexString.append(hex);}strResult = strHexString.toString();
