using System.Security.Cryptography;
public static void Main()
string raw_data = "PSCKPKPsC@456987!PSCKPKFEEC00000008000001PSCGR001173011340602700000123456";
byte[]saltBytes = System.Text.UnicodeEncoding.UTF8.GetBytes(key);
Sign_String(raw_data, saltBytes);
public static void Sign_String(string plaintext,byte[] saltBytes)
byte[] plainTextBytes = System.Text.UnicodeEncoding.UTF8.GetBytes(plaintext);
byte[] plainTextWithSaltBytes = new byte[plainTextBytes.Length + saltBytes.Length];
for (int i = 0; i < plainTextBytes.Length; i++)
plainTextWithSaltBytes[i] = plainTextBytes[i];
for (int i = 0; i < saltBytes.Length; i++)
plainTextWithSaltBytes[plainTextBytes.Length + i] = saltBytes[i];
HashAlgorithm hash = new SHA512Managed();
byte[] hashBytes = hash.ComputeHash(plainTextWithSaltBytes);
for(int k=0; k < plainTextWithSaltBytes.Length; k++){
Console.Write(plainTextWithSaltBytes[k]);
string hashValue = Convert.ToBase64String(hashBytes);