/** * MACs * * An enumeration of MACs implemented for TLS 1.0/SSL 3.0 * Copyright (c) 2007 Henri Torgemane * * See LICENSE.txt for full license information. */ package com.hurlant.crypto.tls { import com.hurlant.crypto.Crypto; import com.hurlant.crypto.hash.HMAC; import com.hurlant.crypto.hash.MAC; public class MACs { public static const NULL:uint = 0; public static const MD5:uint = 1; public static const SHA1:uint = 2; public static function getHashSize(hash:uint):uint { return [0,16,20][hash]; } public static function getPadSize(hash:uint):int { return [0, 48, 40][hash]; } public static function getHMAC(hash:uint):HMAC { if (hash==NULL) return null; return Crypto.getHMAC(['',"md5","sha1"][hash]); } public static function getMAC(hash:uint):MAC { return Crypto.getMAC(['', "md5", "sha1"][hash]); } } }