使用 JavaScriptService 在.NET Core 里實現(xiàn)DES加密算法
文章《ASP.NET Core love JavaScript》和《跨平臺的 NodeJS 組件解決 .NetCore 不支持 System.Drawing圖形功能的若干問題》為我們擴展.NET Core的API提供了一套解決方案,上周在看.NET的加解密算法發(fā)現(xiàn)目前為止沒有包括DES算法,github上在才剛剛加入,具體可以看https://group.cnblogs.com/topic/75273.html 。
Node.js的Crypto庫就提供各種加密算法,可以非常方便地讓我們使用密碼技術(shù),解決應(yīng)用開發(fā)中的問題。Crypto庫是隨Nodejs內(nèi)核一起打包發(fā)布的,主要提供了加密、解密、簽名、驗證等功能。Crypto利用OpenSSL庫來實現(xiàn)它的加密技術(shù),它提供OpenSSL中的一系列哈希方法,包括hmac、cipher、decipher、簽名和驗證等方法的封裝。Crypto官方文檔:http://nodejs.org/api/crypto.html, 博客文章http://blog.fens.me/nodejs-crypto/ 寫的非常詳細。本文介紹如何使用Crypto的DES算法就可以幫助我們實現(xiàn)立即可用的DES算法。
1、我們參照官方文檔https://github.com/aspnet/JavaScriptServices/tree/dev/src/Microsoft.AspNetCore.NodeServices#microsoftaspnetcorenodeservices,我們創(chuàng)建一個.NET Core Console應(yīng)用程序 DotNETNodeApp,添加Microsoft.AspNetCore.NodeServices 包引用:
Install-Package Microsoft.AspNetCore.NodeServices –Pre
2、配置環(huán)境,.NET Core默認都是采用的依賴注入模式,我們在這個JavaScriptService中間件也有需求使用到依賴注入,具體參考dudu的文章:在.NET Core控制臺程序中使用依賴注入
IServiceCollection services = new ServiceCollection();
//注入
services.AddNodeServices(options =>
{
options.ProjectPath = @"C:\Users\geffz\Documents\visual studio 2015\Projects\DotNETNodeApp\src\DotNETNodeApp";
options.WatchFileExtensions = new[] { ".js", ".sass" };
// ... etc. - see other properties below
});