public static void ReferansEkle(this PaketOzeti paketOzeti, PaketVersiyonTuru paketVersiyon, OzetAlgoritmaTuru ozetAlgoritma, byte[] ozetDegeri, Uri uri, byte[] ozetDegeriSha512 = null, bool hariciBilesenMi = false) { if (ozetAlgoritma == OzetAlgoritmaTuru.YOK) { throw new ArgumentException( nameof(ozetAlgoritma) + " değeri " + nameof(OzetAlgoritmaTuru.YOK) + " olmamalıdır.", nameof(ozetAlgoritma)); } if (ozetAlgoritma == OzetAlgoritmaTuru.SHA384 && paketVersiyon == PaketVersiyonTuru.Versiyon1X) { throw new ArgumentException( nameof(OzetAlgoritmaTuru.SHA384) + " özet algoritması yalnızca e-Yazışma API 2.X versiyonlarında kullanılabilir.", nameof(ozetAlgoritma)); } if (paketOzeti.Referanslar != null && paketOzeti.Referanslar.Count > 0) { var oncekiReferans = paketOzeti.Referanslar.Find(p => string.Compare(p.URI, uri.ToString(), StringComparison.InvariantCultureIgnoreCase) == 0); if (oncekiReferans != default(Referans)) { paketOzeti.Referanslar.Remove(oncekiReferans); } } else { paketOzeti.Referanslar = new List <Referans>(); } var yeniReferans = new Referans { Ozet = Ozet.Kilavuz.OzetAlgoritmasiAta(OzetAlgoritmasi.Kilavuz.AlgoritmaAta(ozetAlgoritma).Olustur()) .OzetDegeriAta(ozetDegeri).Olustur(), URI = uri.ToString(), Type = hariciBilesenMi ? Constants.HARICI_PAKET_BILESENI_REFERANS_TIPI : Constants.DAHILI_PAKET_BILESENI_REFERANS_TIPI }; if (paketVersiyon == PaketVersiyonTuru.Versiyon2X) { yeniReferans.Ozet1 = Ozet.Kilavuz .OzetAlgoritmasiAta(OzetAlgoritmasi.Kilavuz.AlgoritmaAta(OzetAlgoritmaTuru.SHA512).Olustur()) .OzetDegeriAta(ozetDegeriSha512).Olustur(); } paketOzeti.Referanslar.Add(yeniReferans); }
public static byte[] CalculateHash(this OzetAlgoritmaTuru algoritmaTuru, byte[] value) { if (value == null) { return(null); } using (var ms = new MemoryStream(value)) { return(algoritmaTuru.CalculateHash(ms)); } }
public static string ToXmlNameSpace(this OzetAlgoritmaTuru algoritmaTuru) { switch (algoritmaTuru) { case OzetAlgoritmaTuru.RIPEMD160: return(Constants.ALGORITHM_RIPEMD160); case OzetAlgoritmaTuru.SHA1: return(Constants.ALGORITHM_SHA1); case OzetAlgoritmaTuru.SHA256: return(Constants.ALGORITHM_SHA256); case OzetAlgoritmaTuru.SHA384: return(Constants.ALGORITHM_SHA384); case OzetAlgoritmaTuru.SHA512: return(Constants.ALGORITHM_SHA512); default: return(""); } }
public static byte[] CalculateHash(this OzetAlgoritmaTuru algoritmaTuru, Stream value) { switch (algoritmaTuru) { case OzetAlgoritmaTuru.RIPEMD160: using (var hashAlgorithm = new RIPEMD160Managed()) { return(hashAlgorithm.ComputeHash(value)); } case OzetAlgoritmaTuru.SHA1: { using (var hashAlgorithm = new SHA1Managed()) { return(hashAlgorithm.ComputeHash(value)); } } case OzetAlgoritmaTuru.SHA256: using (var hashAlgorithm = new SHA256Managed()) { return(hashAlgorithm.ComputeHash(value)); } case OzetAlgoritmaTuru.SHA384: using (var hashAlgorithm = new SHA384Managed()) { return(hashAlgorithm.ComputeHash(value)); } case OzetAlgoritmaTuru.SHA512: using (var hashAlgorithm = new SHA512Managed()) { return(hashAlgorithm.ComputeHash(value)); } default: return(null); } }
/// <summary> /// Algoritma türü değeridir. /// </summary> /// <param name="algoritma">OzetAlgoritmaTuru tipinde olmalıdır.</param> /// <remarks>Zorunlu alandır.</remarks> public static IOzetAlgoritmasiFluentAlgoritma AlgoritmaAta(OzetAlgoritmaTuru algoritma) { return(new Kilavuz(algoritma)); }
private Kilavuz(OzetAlgoritmaTuru algoritma) { _algoritma = algoritma; }
private OzetAlgoritmasi(OzetAlgoritmaTuru algoritma, XmlNode[] any) { Algoritma = algoritma; Any = any; }