Вот полная рабочая программа, которая использует Unix Crypt:
using System;
using System.Runtime.InteropServices;
public class Test
{
[DllImport("libcrypt.so", EntryPoint = "crypt", ExactSpelling = true, CharSet = CharSet.Ansi)]
public static extern IntPtr UnixCrypt([MarshalAs(UnmanagedType.LPStr)]string key, [MarshalAs(UnmanagedType.LPStr)]string salt);
public static void Main()
{
var ptrResult = UnixCrypt("test", "test2");
Console.WriteLine(Marshal.PtrToStringAnsi(ptrResult));
}
}
Она печатает результат шифрования с заданным ключом и солью.Конечно, вы можете поместить UnixCrypt в любой другой класс.Для удобства вы также можете создать метод:
public static string MyCrypt(string key, string salt)
{
return Marshal.PtrToStringAnsi(UnixCrypt(key, salt));
}