All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gs.api.accelrx.crypto.messagedigest.MessageDigestSha512HashingProvider Maven / Gradle / Ivy

The newest version!
package com.gs.api.accelrx.crypto.messagedigest;

import com.gs.api.accelrx.HashingProvider;
import io.reactivex.rxjava3.core.Single;
import io.vertx.rxjava3.core.Vertx;

public class MessageDigestSha512HashingProvider implements HashingProvider {
    private final Vertx vertx;
    private final BlockingMessageDigestSha512HashingProvider blockingSha512HashingProvider;

    private MessageDigestSha512HashingProvider(Vertx vertx, BlockingMessageDigestSha512HashingProvider blockingSha512HashingProvider) {
        this.vertx = vertx;
        this.blockingSha512HashingProvider = blockingSha512HashingProvider;
    }

    public static MessageDigestSha512HashingProvider create(Vertx vertx, BlockingMessageDigestSha512HashingProvider blockingSha512HashingProvider) {
        return new MessageDigestSha512HashingProvider(vertx, blockingSha512HashingProvider);
    }

    @Override
    public Single hash(String message) {
        return vertx.rxExecuteBlocking(promise -> promise.complete(blockingSha512HashingProvider.hash(message))).toSingle();
    }

    @Override
    public Single hash(byte[] message) {
        return vertx.rxExecuteBlocking(promise -> promise.complete(blockingSha512HashingProvider.hash(message))).toSingle();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy