Microsoft Windows 2000 и более поздние версии предоставляют API защиты данных (DPAPI), который шифрует данные для контекста для каждого пользователя или для каждой системы. Вызывающий не предоставляет ключ для шифрования данных. Скорее, данные шифруются ключом, полученным из пользовательских или системных учетных данных.
Этот API удобно открыть в .NET с помощью ProtectedData class:
// Encrypts the data in a specified byte array and returns a byte array
// that contains the encrypted data.
public static byte[] Protect(
byte[] userData,
byte[] optionalEntropy,
DataProtectionScope scope
)
// Decrypts the data in a specified byte array and returns a byte array
// that contains the decrypted data.
public static byte[] Unprotect(
byte[] encryptedData,
byte[] optionalEntropy,
DataProtectionScope scope
)
Есть ли эквивалентный API в Linux? Бонус будет заключаться в том, что он удобно интегрируется с Java.
Каковы мои альтернативы, если их нет?