public static byte[] getBytes(ChecksumInputType checksumInputType, string input, Error error) { EncodingUtil eu = new EncodingUtil(); byte[] aux = null; switch (checksumInputType) { case ChecksumInputType.BASE64: try { aux = Base64.Decode(input); } catch (Exception e) { error.setError("CI003", e.Message); } break; case ChecksumInputType.HEX: aux = SecurityUtils.GetHexa(input, "CI004", error); break; case ChecksumInputType.TXT: aux = eu.getBytes(input); if (eu.HasError()) { error = eu.GetError(); } break; case ChecksumInputType.ASCII: try { aux = new ASCIIEncoding().GetBytes(input); } catch (Exception e) { error.setError("CI004", e.Message); } break; case ChecksumInputType.LOCAL_FILE: aux = SecurityUtils.getFileBytes(input, error); break; default: error.setError("CI006", "Unrecognized checksum input type"); break; } return(aux); }
public string GenerateChecksum(string input, string inputType, string checksumAlgorithm) { ChecksumInputType chksumInputType = ChecksumInputTypeUtils.getChecksumInputType(inputType, this.error); byte[] inputBytes = ChecksumInputTypeUtils.getBytes(chksumInputType, input, this.error); if (this.HasError()) { return(""); } ChecksumAlgorithm algorithm = ChecksumAlgorithmUtils.getChecksumAlgorithm(checksumAlgorithm, this.error); if (this.HasError()) { return(""); } return((ChecksumAlgorithmUtils.isHash(algorithm)) ? CalculateHash(inputBytes, algorithm) : CalculateCRC(inputBytes, algorithm)); }
public static string valueOf(ChecksumInputType checksumInputType, Error error) { switch (checksumInputType) { case ChecksumInputType.BASE64: return("BASE64"); case ChecksumInputType.HEX: return("HEX"); case ChecksumInputType.TXT: return("TXT"); case ChecksumInputType.ASCII: return("ASCII"); case ChecksumInputType.LOCAL_FILE: return("LOCAL_FILE"); default: error.setError("CI002", "Unrecognized checksum input type"); return(""); } }