最近我们更新了之前发布的博客园UAP,应很多用户的要求增加了登录及显示账号收藏的功能,使用了博客园新增加的API。
在新版本中,大家可以登录自己的博客园账号,查看博客园账户中的收藏。
还能将之前版本中的,属于微软账户的收藏,一键上传到博客园账户的收藏中(当然也可以手动上传一部分)。
另外我们还改善了文章和代码的阅读效果,以及博客园UAP直接运行在win10 mobile上会出现的一些显示异常。
以下是一些预览:
在首页左侧新增登陆功能 | 原来的收藏面板显示博客园账户收藏和本地上传按钮 |
|
|
修缮后的阅读界面 字体大小更合适,界面更适合阅读 | 之前版本的阅读界面 字体显示有问题,代码显示过小 |
在使用API的时候,我们需要用RSA进行加密,WinRT已经支持直接使用openSSL生成的公钥了,我们只需引用这两个namespace,
using Windows.Security.Cryptography.Core; using Windows.Security.Cryptography;
AsymmetricKeyAlgorithmProvider p = AsymmetricKeyAlgorithmProvider.OpenAlgorithm(AsymmetricAlgorithmNames.RsaPkcs1); CryptographicKey key = p.ImportPublicKey(CryptographicBuffer.DecodeFromBase64String(CNBLOGS_PUBLIC_KEY)); IBuffer rawUsername = CryptographicBuffer.ConvertStringToBinary(username, BinaryStringEncoding.Utf8); IBuffer rawPassword = CryptographicBuffer.ConvertStringToBinary(password, BinaryStringEncoding.Utf8); var enUsername = CryptographicEngine.Encrypt(key, rawUsername, null); var enPassword = CryptographicEngine.Encrypt(key, rawPassword, null);
然后就可以使用WinRT提供的RSA加密算法了。
加密方法的签名是
public static IBuffer Encrypt(CryptographicKey key, IBuffer data, IBuffer iv);
当前的程序集中使用 IBuffer ,可以直接通过 CryptographicBuffer 类来进行常见的加密辅助手段,它们直接接受 IBuffer 类型。
如:
public static IBuffer ConvertStringToBinary(System.String value, BinaryStringEncoding encoding); public static IBuffer DecodeFromBase64String(System.String value); public static System.String EncodeToBase64String(IBuffer buffer); public static IBuffer GenerateRandom(System.UInt32 length);
欢迎大家更新体验新版本,也希望大家能向我们反馈使用中发现的问题哦:)
此次我们只发布了windows phone版,store链接在这里:
Windows Phone Store App link:
http://www.windowsphone.com/zh-cn/store/app/博客园-uap/500f08f0-5be8-4723-aff9-a397beee52fc