MessageDigest reset() method in Java with Examples

The reset() method of java.security.MessageDigest class is used to reset current message digest value to default message digest value of this MessageDisgest object.
Syntax:Â
Â
public void reset()
Return Value: This method has nothing to return.
Below are the examples to illustrate the reset() method:
Example 1:Â
Â
Java
// Java program to demonstrate// reset() methodÂ
import java.security.*;import java.nio.*;import java.util.*;Â
public class GFG1 {Â Â Â Â public static void main(String[] argv)Â Â Â Â {Â Â Â Â Â Â Â Â try {Â
            byte[] barr = { 10, 20, 30, 40 };Â
            // creating object of MessageDigest            MessageDigest msd1                = MessageDigest.getInstance("MD5");Â
            // display the digest value before Updation            System.out.println("MessageDigest before update : "                               + (ByteBuffer.wrap(                                      msd1.digest()))                                     .getShort());Â
            // creating object of ByteBuffer            // and allocating size capacity            ByteBuffer bb = ByteBuffer.wrap(barr);Â
            // update MessageDigest value            // using update() method            msd1.update(bb);Â
            // display the digest value before Updation            System.out.println("\nMessageDigest after update : "                               + (ByteBuffer.wrap(                                      msd1.digest()))                                     .getShort());Â
            // reset MessageDigest value            // using reset() method            msd1.reset();Â
            // display the digest value after reset            System.out.println("\nMessageDigest after reset : "                               + (ByteBuffer.wrap(                                      msd1.digest()))                                     .getShort());        }Â
        catch (NoSuchAlgorithmException e) {Â
            System.out.println("Exception thrown : " + e);        }        catch (ProviderException e) {Â
            System.out.println("Exception thrown : " + e);        }    }} |
Output:Â
MessageDigest before update : -11235 MessageDigest after update : 30835 MessageDigest after reset : -11235
Â
Example 2:Â
Â
Java
// Java program to demonstrate// reset() methodÂ
import java.security.*;import java.nio.*;import java.util.*;Â
public class GFG1 {Â Â Â Â public static void main(String[] argv)Â Â Â Â {Â Â Â Â Â Â Â Â try {Â
            byte[] barr = { 10, 20, 30, 40 };Â
            // creating object of MessageDigest            MessageDigest msd1                = MessageDigest.getInstance("SHA-256");Â
            // display the digest value before Updation            System.out.println("MessageDigest before update : "                               + (ByteBuffer.wrap(                                      msd1.digest()))                                     .getShort());Â
            // creating object of ByteBuffer            // and allocating size capacity            ByteBuffer bb = ByteBuffer.wrap(barr);Â
            // update MessageDigest value            // using update() method            msd1.update(bb);Â
            // display the digest value before Updation            System.out.println("\nMessageDigest after update : "                               + (ByteBuffer.wrap(                                      msd1.digest()))                                     .getShort());Â
            // reset MessageDigest value            // using reset() method            msd1.reset();Â
            // display the digest value after reset            System.out.println("\nMessageDigest after reset : "                               + (ByteBuffer.wrap(                                      msd1.digest()))                                     .getShort());        }Â
        catch (NoSuchAlgorithmException e) {Â
            System.out.println("Exception thrown : " + e);        }        catch (ProviderException e) {Â
            System.out.println("Exception thrown : " + e);        }    }} |
Output:Â
MessageDigest before update : -7248 MessageDigest after update : 24403 MessageDigest after reset : -7248
Â
Reference:Â
https://docs.oracle.com/javase/9/docs/api/java/security/MessageDigest.html#reset–
Â



