2016-03-21 17 views
0

Şifreleme için Triple DES algoritması kullanıyorum.Ben bunu yapmak için bir hex ondalık (32 karakter) anahtarını geçmem gerekiyor. Bunu bayt dizisine dönüştürdüğümde 32 byte depolanır. Ancak algoritmanın giriş anahtarı Sadece 16 bayt. Benim soru 16 bayt dizisinde 32 hex ondalık basamak saklamak nasıl? Peşinde nelerdir16 bayt dizisinde 32 hex ondalık basamağı nasıl depolanır?

+1

Bize nasıl çalıştığını gösteren bazı kodları göster – derpirscher

cevap

1

Sen "A123FF25" gibi görünür bir dize var

public static byte[] HexToByteArray(this string hex) 
    { 
     hex = hex.Replace(" ", "").Replace("-", ""); 

     var numberChars = hex.Length; 
     var bytes = new byte[numberChars/2]; 
     for (var i = 0; i < numberChars; i += 2) 
      bytes[i/2] = Convert.ToByte(hex.Substring(i, 2), 16); 
     return bytes; 
    } 

bu uzatma yöntemine muhtemelen benzerdir ve bir onaltılık olarak bu dizede her 2-Char bloğunu tedavi etmek istiyorum numaranın orjinalinin uzunluğunun yarısı kadar bir bayt dizisi olsun ...

+0

thnq u jackob.its – spk

İlgili konular