Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]
Im folgenden Beispiel wird gezeigt, wie mithilfe der encrypt-Methode Daten verschlüsselt werden.
function encryptDataBuffer(keyMaterial, stringToEncrypt, algNameString, keysize, ivBuffer) {
// Input arguments:
// keyMaterial.......Buffer that contains random key material (see the GenerateRandom method)
// stringToEncrypt...String that contains information to be encrypted
// algNameString.....String that contains the name of the symmetric algrorithm to use
// keysize...........Requested key size
// ivBuffer..........Buffer that contains the initialization buffer (this can be random data or custom defined)
var encryptedBuffer;
try {
// Convert the input string to binary.
var inputDataBuffer = Windows.Security.Cryptography.CryptographicBuffer.convertStringToBinary(stringToEncrypt, Windows.Security.Cryptography.BinaryStringEncoding.utf8);
// Open the algorithm provider for the algorithm specified on input.
var algorithmProvider = Windows.Security.Cryptography.Core.SymmetricKeyAlgorithmProvider.openAlgorithm(algNameString);
// Check that the requested key size specified on input does not exceed the maximum size supported by the algorithm.
if (keysize > algorithmProvider.supportedKeyLengths.max) {
// Handle error.
}
// Create a symmetric key.
var symmetricKey = algorithmProvider.createSymmetricKey(keyMaterial);
// Check the padding scheme and determine whether the data must be aligned.
if (algorithmProvider.padding != Windows.Security.Cryptography.Core.CryptographicPadding.block) {
// Data must be aligned by block size.
var i = inputDataBuffer.length % algorithmProvider.blockLength;
if (i > 0) {
// Handle error.
}
}
// Encrypt the input data.
encryptedBuffer = Windows.Security.Cryptography.Core.CryptographicEngine.encrypt(symmetricKey, inputDataBuffer, ivBuffer);
}
catch (e) {
// Handle error.
}
return encryptedBuffer;
}