EdColeman commented on a change in pull request #1803:
URL: https://github.com/apache/accumulo/pull/1803#discussion_r568086238



##########
File path: 
server/base/src/main/java/org/apache/accumulo/server/master/recovery/RecoveryPath.java
##########
@@ -50,7 +47,8 @@ public static Path getRecoveryPath(Path walPath, String 
portHost) {
 
       // drop wal
       walPath = walPath.getParent();
-      walPath = new Path(walPath, FileType.RECOVERY.getDirectory() + "-" + 
convertToSha1(portHost));
+      walPath =
+          new Path(walPath, FileType.RECOVERY.getDirectory() + "-" + 
DigestUtils.sha1Hex(portHost));

Review comment:
       Recently it was noted that using sha1 can be flagged by some code 
security scan utilities - would using sha256 or even sha512 eliminate those 
utilities from flagging "unsecure usages"?  This is not a security related hash 
so it does not matter, but those utilities don't take that into account.
   
   The length of the string could also be shortened using something like:
   
   ```String s = new 
BigInteger(DigestUtils.sha256(portHost).toString(MAX_RADIX).substring(0,40)```
   
   This would have the same number of characters as the sha1 digest, but more 
"bits" using base36 vs base16 - or the string length could be shortened so that 
it was equivalent to the 40 digit sha1 without increasing the (small) risk of a 
collision. This also would allow using sha512 without a ridiculous string 
length.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to