惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

博客园 - chuncn

Eslint 规则说明 磁盘阵列RAID原理、种类及性能优缺点对比 asp.net中调用命令行 JavaScript中的CSS属性对照表 webRTC-实时流媒体的福音 qt 5.1 quick vs qt 4.x quick for control zeroc ice的概念、组成与服务 国内外期货、外汇、股指期货 交易时间 使用Visual Leak Detector for Visual C++ 捕捉内存泄露 sqlite in qt Windows环境下使用Boost Qt 表格&列表数据驱动化(c++) 原创 Qt读写INI配置文件 Qt多国语言的实现与切换(国际化) Qt编码风格 -- 转 win32里玩事件-转 c++中捕捉内存泄露、异常 win32 http download win32 DirectUI控件开发与调用指南
window8 metro 之 RSA
chuncn · 2012-11-29 · via 博客园 - chuncn
            //WinRT
            String str = "String To Encrypt";
            IBuffer buf = CryptographicBuffer.ConvertStringToBinary(str, BinaryStringEncoding.Utf16BE);
            AsymmetricKeyAlgorithmProvider asym = AsymmetricKeyAlgorithmProvider.OpenAlgorithm(AsymmetricAlgorithmNames.RsaPkcs1);
            CryptographicKey key = asym.CreateKeyPair(512);
            IBuffer enc = CryptographicEngine.Encrypt(key, buf, null);
            byte[] encryptedbyteArr;
            CryptographicBuffer.CopyToByteArray(enc, out encryptedbyteArr);
            String encryptedBase64Str = Convert.ToBase64String(encryptedbyteArr);

            //Export the private Key in WinCapi format
            byte[] privatekeyBytes;
            CryptographicBuffer.CopyToByteArray(key.Export(CryptographicPrivateKeyBlobType.Capi1PrivateKey), out privatekeyBytes);
            String privatekeyBase64 = Convert.ToBase64String(privatekeyBytes);

            byte[] bytes, bytes2;
            IBuffer ib = CryptographicEngine.Decrypt(key, enc, null);
            CryptographicBuffer.CopyToByteArray(ib, out bytes);
            bytes2 = WindowsRuntimeBufferExtensions.ToArray(ib, 0, (int)ib.Length);

            string str2 = System.Text.Encoding.UTF8.GetString(bytes, 0, bytes.Length).Replace("\0", "");
            string str3 = System.Text.Encoding.UTF8.GetString(bytes2, 0, bytes2.Length).Replace("\0", "");

            //Web Service
            /***
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            String privateKey64 = "BwIAAACkAABSU0EyAAIAAAEAAQCFrMTqMU3T14zSUM5...";
            String EncryptedString = "PbauDOjqMLD2P6WSmEw==";
            byte[] EncryptedDataBlob = Convert.FromBase64String(EncryptedString);
            byte[] privateKeyBlob = Convert.FromBase64String(privateKey64);
            byte[] decryptedBytes;
            rsa.ImportCspBlob(privateKeyBlob);
            decryptedBytes = rsa.Decrypt(EncryptedDataBlob, false);
            String decryptedString = System.Text.Encoding.BigEndianUnicode.GetString(decryptedBytes);

http://stackoverflow.com/questions/11281350/encrypt-string-in-winrt-c-sharp-and-decrypt-it-in-c-sharp-net
http://stackoverflow.com/questions/11880450/rsa-encryption-in-metro-style-application