私は暗号化のためにC#のコードでCrypt(塩、キー)の機能を使用する必要があります 私のパスワードは2文字の塩と8文字のキーを使用しています。 C/C++では、これを行うことができますが、C#でこれを行う方法です。 ubuntu linuxでMono C#を使用しています。 お勧めします。Crypt()関数monoを呼び出す方法C#?
1
A
答えて
2
は、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));
}
}
それは、与えられたキーと塩でcryptingの結果を出力します。もちろんUnixCryptを他のクラスに入れることもできます。便宜上、メソッドを作成することもできます:
public static string MyCrypt(string key, string salt)
{
return Marshal.PtrToStringAnsi(UnixCrypt(key, salt));
}
0
同様のquestion- Encrypt and decrypt a string
は、それはあなたがヘルパークラスを作成する方法を教えてCode Project上の記事は、ありますがあります。ここで
あなたはUNIX Crypt()関数に精通していません。 plz googleについてそれをして、できる場合は答えてください。 – vijay