在通用Windows平台(UWP)应用程序中使用DESCryptoServiceProvider

在通用Windows平台(UWP)应用程序中使用DESCryptoServiceProvider,uwp,des,Uwp,Des,我有一个与我的web服务通信的UWP应用程序,为了使用某些方法,我的应用程序必须加密参数。 对于解密,我们在中使用了DESCryptoServiceProvider和CryptoStream System.Security.Cryptography 但是UWP没有System.Security.Cryptography,和Windows.Security.Cryptography不包含DecryptoServiceProvider和CryptoStream 请帮助我,谢谢。在通用Windows

我有一个与我的web服务通信的UWP应用程序,为了使用某些方法,我的应用程序必须加密参数。 对于解密,我们在中使用了
DESCryptoServiceProvider和CryptoStream

System.Security.Cryptography
但是UWP没有
System.Security.Cryptography,
Windows.Security.Cryptography
不包含
DecryptoServiceProvider和CryptoStream


请帮助我,谢谢。

在通用Windows应用程序中,您必须使用进行加密和解密操作

对于解密用例,您将使用该方法,除了加密数据和IV之外,还需要一个密钥来执行操作

您需要的密钥将由类创建。因此,通过打开并创建密钥来初始化新实例

例如:

//静态方法调用,“SymmetricalGorthmNames”有几个DES算法,
//所以选择正确的一个
var provider=SymmetricKeyAlgorithmProvider
.OpenAlgorithm(SymmetricAlgorithmNames.DesEcbPkcs7);
var key=provider.CreateSymmetricKey(myKeyMaterial);

您知道如何使用现有密钥而不是创建新密钥吗?API似乎没有提供“导入”现有密钥以用于对称算法的方法。@disklosr它与上面的方法相同,只是使用了不同的
myKeyMaterial
。这与使用密码作为密钥材料的方式相同。使用
IBuffer
cryptographicsengine.DeriveKeyMaterial
,您将得到大约230行代码。这不是很直观,是的。