diff options
author | Roberto Tyley <roberto.tyley@gmail.com> | 2014-07-15 01:38:01 +0400 |
---|---|---|
committer | Roberto Tyley <roberto.tyley@gmail.com> | 2014-07-26 11:23:17 +0400 |
commit | 7cb752aaf746dc0b473afeb9e892b7fbc12666c5 (patch) | |
tree | cc4f91ddc18332b5adbe82e3fcb040d976c90105 /prov/src/main/java/org/spongycastle/jcajce/provider/digest/MD2.java | |
parent | 551830f8ea5177042af2c7dd1fc90888bc67387d (diff) |
Execute become-spongy.sh
https://github.com/rtyley/spongycastle/blob/3040af/become-spongy.sh
Diffstat (limited to 'prov/src/main/java/org/spongycastle/jcajce/provider/digest/MD2.java')
-rw-r--r-- | prov/src/main/java/org/spongycastle/jcajce/provider/digest/MD2.java | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/prov/src/main/java/org/spongycastle/jcajce/provider/digest/MD2.java b/prov/src/main/java/org/spongycastle/jcajce/provider/digest/MD2.java new file mode 100644 index 00000000..ceaa460b --- /dev/null +++ b/prov/src/main/java/org/spongycastle/jcajce/provider/digest/MD2.java @@ -0,0 +1,75 @@ +package org.spongycastle.jcajce.provider.digest; + +import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; +import org.spongycastle.crypto.CipherKeyGenerator; +import org.spongycastle.crypto.digests.MD2Digest; +import org.spongycastle.crypto.macs.HMac; +import org.spongycastle.jcajce.provider.config.ConfigurableProvider; +import org.spongycastle.jcajce.provider.symmetric.util.BaseKeyGenerator; +import org.spongycastle.jcajce.provider.symmetric.util.BaseMac; + +public class MD2 +{ + private MD2() + { + + } + + static public class Digest + extends BCMessageDigest + implements Cloneable + { + public Digest() + { + super(new MD2Digest()); + } + + public Object clone() + throws CloneNotSupportedException + { + Digest d = (Digest)super.clone(); + d.digest = new MD2Digest((MD2Digest)digest); + + return d; + } + } + + /** + * MD2 HMac + */ + public static class HashMac + extends BaseMac + { + public HashMac() + { + super(new HMac(new MD2Digest())); + } + } + + public static class KeyGenerator + extends BaseKeyGenerator + { + public KeyGenerator() + { + super("HMACMD2", 128, new CipherKeyGenerator()); + } + } + + public static class Mappings + extends DigestAlgorithmProvider + { + private static final String PREFIX = MD2.class.getName(); + + public Mappings() + { + } + + public void configure(ConfigurableProvider provider) + { + provider.addAlgorithm("MessageDigest.MD2", PREFIX + "$Digest"); + provider.addAlgorithm("Alg.Alias.MessageDigest." + PKCSObjectIdentifiers.md2, "MD2"); + + addHMACAlgorithm(provider, "MD2", PREFIX + "$HashMac", PREFIX + "$KeyGenerator"); + } + } +} |