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

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
腾讯CDC
大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
博客园_首页
F
Fortinet All Blogs
小众软件
小众软件
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
博客园 - 【当耐特】
量子位
博客园 - 叶小钗
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
MyScale Blog
MyScale Blog
爱范儿
爱范儿
The Cloudflare Blog
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog

博客园 - 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