我正在开发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
答案 0 :(得分:1)
这是不可能的,因为Windows Phone上的ProtectedData类使用设备凭据来加密数据,它只能在该设备上解密。
在Silverlight for Windows Phone中,包括用户和计算机 凭证用于加密或解密数据。
http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata(v=vs.96).aspx