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 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 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--