String i Hex e, Hex i String e dönüştürme.

Ne garip bir başlık oldu yav :) String to Hex, Hex to String yazacaktım sonra
dedim güzel Türkçe' mi kullanayım. Geçenlerde başımız bir session nesnesi
yüzünden okadar ağırdıki tarifi inanın mümkün değil. İlgili kodları şekilden
şekile soktuk, amuda bile kaldırdık ama bir türlü çözüm bulamadık. En sonunda
session daki veriyi bir anahtarla birlikte şifreleyip adres çubuğundan taşıyalım
dedik. Nitekimde başarılı olduk ama zaman zaman sıkıntılar olduğunu gözledik.
Arkadaş zaten canımızı çıkaran bir durumdu tam hallettik derken yine hata almak
ciddi şekilde canımızı sıktı. Sıkıntı şifrelenen verinin + ^ | gibi
karakterlerin adres çubuğundan taşınırken problem çıkarmasından ileri
geliyormuş. HtmlDecode ve benzeri aksiyonların işe yaramadığı bir durum.
Emre abi
nin imda da yetiştiği bu durumda, karşı tarafa şifrelenmiş veriyi Hex formatına
dönüştürüp adres çubuğundan taşıyıp, sonrasında Hex veriyi stringe dönüştürerek
başarılı bir şekilde taşımış olduk. Böylelikle ciddi bir tecrübe edinmiş olduk,
demekki karmaşık karakterli verileri işlemler sonunda Hex formatında taşımak
gayet sağlıklı oluyormuş. Bu durumda dönüşümler kullandığımız kodları sizlerle
paylaşmak istedim.

    public string ConvertStringToHex(string asciiString)
    {
        string hex = "";
        foreach (char c in asciiString)
        {
            int tmp = c;
            hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()));
        }
        return hex;
    }

    public string ConvertHexToString(string HexValue)
    {
        string StrValue = "";
        while (HexValue.Length > 0)
        {
            StrValue += System.Convert.ToChar(System.Convert.ToUInt32(HexValue.Substring(0, 2), 16)).ToString();
            HexValue = HexValue.Substring(2, HexValue.Length - 2);
        }
        return StrValue;
    }