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

sop.MicAlg Maven / Gradle / Ivy

There is a newer version: 10.0.3
Show newest version
// SPDX-FileCopyrightText: 2022 Paul Schaub 
//
// SPDX-License-Identifier: Apache-2.0

package sop;

import java.io.OutputStream;
import java.io.PrintWriter;

public class MicAlg {

    private final String micAlg;

    public MicAlg(String micAlg) {
        if (micAlg == null) {
            throw new IllegalArgumentException("MicAlg String cannot be null.");
        }
        this.micAlg = micAlg;
    }

    public static MicAlg empty() {
        return new MicAlg("");
    }

    public static MicAlg fromHashAlgorithmId(int id) {
        switch (id) {
            case 1:
                return new MicAlg("pgp-md5");
            case 2:
                return new MicAlg("pgp-sha1");
            case 3:
                return new MicAlg("pgp-ripemd160");
            case 8:
                return new MicAlg("pgp-sha256");
            case 9:
                return new MicAlg("pgp-sha384");
            case 10:
                return new MicAlg("pgp-sha512");
            case 11:
                return new MicAlg("pgp-sha224");
            default:
                throw new IllegalArgumentException("Unsupported hash algorithm ID: " + id);
        }
    }

    public String getMicAlg() {
        return micAlg;
    }

    public void writeTo(OutputStream outputStream) {
        PrintWriter pw = new PrintWriter(outputStream);
        pw.write(getMicAlg());
        pw.close();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy