我有一个与我的网络服务通信的UWP应用程序,并且为了使用某些方法,我的应用程序必须加密参数。 对于解密,我们在
中使用了DESCryptoServiceProvider and CryptoStream
System.Security.Cryptography
但是UWP没有System.Security.Cryptography,
且Windows.Security.Cryptography
不包含DESCryptoServiceProvider and CryptoStream
!!!
请帮帮我谢谢。
答案 0 :(得分:1)
在通用Windows应用中,您必须使用CryptographicEngine
进行加密和解密操作。
对于您的解密用例,您需要使用DecryptAsync
方法,除了加密数据和IV之外,还需要一个执行操作的密钥。
您需要的密钥将由SymmetricKeyAlgorithmProvider
类创建。因此,通过打开desired algorithm并创建密钥来初始化新实例。
例如:
// Static method call, "SymmetricAlgorithmNames" has several DES algorithms,
// so choose the correct one
var provider = SymmetricKeyAlgorithmProvider
.OpenAlgorithm(SymmetricAlgorithmNames.DesEcbPkcs7);
var key = provider.CreateSymmetricKey(myKeyMaterial);