Win a copy of Secure Financial Transactions with Ansible, Terraform, and OpenSCAP this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Rob Spoor
  • Henry Wong
  • Liutauras Vilda
Saloon Keepers:
  • Tim Moores
  • Carey Brown
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
Bartenders:
  • Frits Walraven
  • Himai Minh
  • Jj Roberts

Is java.security.MessageDigest methods digest() and reset() threadsafe

 
Ranch Hand
Posts: 50
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Are the java.security.MessageDigest methods digest() and reset() threadsafe?
 
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
MessageDigest probably isn't thread safe unless it's mentioned in the API.
 
Chase Bonham
Ranch Hand
Posts: 50
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thats where the confusion is for me. In the Javadoc for the lang API, is it safe to assume that if nothing is mentioned about synchronization then it is probably thread safe??..

Look at .. java.text.SimpleDateFormat, java.util.HashMap there is specific
mention of synchronization.
 
Wanderer
Posts: 18671
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In general the rule is that you should assume that a class is not designed to be used by multiple threads, unless the docs specifically say it is. It's true that some docs specifically tell you when a class isn't thread-safe, but that's not really necessary. There are also a few classes which are really thread-safe even though the docs don't say so, but you generally can't rely on that. The default is that classes are not thread-safe unless it's otherwise stated.
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Confirmed that it is not thread safe. You will get weird errors after loading up your application in multi-thread environment.
 
Water! People swim in water! Even tiny ads swim in water:
SKIP - a book about connecting industrious people with elderly land owners
https://coderanch.com/t/skip-book
reply
    Bookmark Topic Watch Topic
  • New Topic