You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Jon Moore (JIRA)" <ji...@apache.org> on 2012/10/04 23:11:48 UTC

[jira] [Commented] (HTTPCLIENT-1245) org.apache.http.impl.client.cache.memcached.SHA256KeyHashingScheme use of MessageDigest should be synchronized

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13469704#comment-13469704 ] 

Jon Moore commented on HTTPCLIENT-1245:
---------------------------------------

If you look at the implementation of getDigest, it returns a fresh MessageDigest instance every time, so the MessageDigest isn't shared across invocations. Can you explain why it needs to be synchronized in this case?

                
> org.apache.http.impl.client.cache.memcached.SHA256KeyHashingScheme use of MessageDigest should be synchronized
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1245
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1245
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: Cache
>    Affects Versions: 4.2.1
>            Reporter: Clinton Nielsen
>
> Function:
>     public String hash(String key) {
>         MessageDigest md = getDigest();
>         md.update(key.getBytes());
>         return Hex.encodeHexString(md.digest());
>     }
> Should be rewritten to synchronize access to the MessageDigest object:
> 	public String hash(String key) {
>         MessageDigest md = getDigest();
>         byte[] digest = null;
>         synchronized(md) {
>         	md.update(key.getBytes());
>         	digest = md.digest();
>         }
>         return Hex.encodeHexString(digest);
>     }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org