使用windows phone 7.1中的protectedData.protect进行加密

时间:2012-02-22 06:39:15

标签: encryption windows-phone-7.1 windows-phone-7 windows-phone

我正在开发Windows Phone 7应用程序,我将加密数据发送到解密它的Web服务。我正在使用protectedData.protect,只要我从我的应用程序加密和解密(仅用于测试),它才能正常工作;一旦我使用webservice,行为就会改变。

这是来自webservice的代码:

If Flag = False Then ' Decrypt
    Dim ProtectedPinByte As Byte() = Encoding.UTF8.GetBytes(password)
    Dim PinByte2 As Byte() = ProtectedData.Unprotect(ProtectedPinByte, Nothing, DataProtectionScope.CurrentUser)
    password = Encoding.UTF8.GetString(PinByte2, 0, PinByte2.Length)
    Return Bll.Utilites.EncryptDecryptStr(True, password) 'Encrypts using another algorithm
Else ' Encrypt
    EncPassword = Bll.Utilites.EncryptDecryptStr(False, password) 'decrypts  from another algorithm
    Dim PinByte As Byte() = Encoding.UTF8.GetBytes(EncPassword)
    Dim ProtectedPinByte As Byte() = ProtectedData.Protect(PinByte, Nothing, DataProtectionScope.CurrentUser)
    Return Encoding.UTF8.GetString(ProtectedPinByte, 0, ProtectedPinByte.Length)
End If

1 个答案:

答案 0 :(得分:1)

这是不可能的,因为Windows Phone上的ProtectedData类使用设备凭据来加密数据,它只能在该设备上解密。

  

在Silverlight for Windows Phone中,包括用户和计算机   凭证用于加密或解密数据。

http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata(v=vs.96).aspx