当前位置: 首页 > news >正文

迪拜哪个网站是做网站的怎么做秒赞网站

迪拜哪个网站是做网站的,怎么做秒赞网站,网站 建设 领导小组,长春网站建设营销q479185700刷屏文章《ASP.NET Core loves JavaScript》和《跨平台的 NodeJS 组件解决 .NetCore 不支持 System.Drawing图形功能的若干问题》为我们扩展.NET Core的API提供了一套解决方案#xff0c;上周在看.NET的加解密算法发现目前为止没有包括DES算法#xff0c;github上在才刚刚加入上周在看.NET的加解密算法发现目前为止没有包括DES算法github上在才刚刚加入具体可以看 https://group.cnblogs.com/topic/75273.html 。 Node.js的Crypto库就提供各种加密算法可以非常方便地让我们使用密码技术解决应用开发中的问题。Crypto库是随Nodejs内核一起打包发布的主要提供了加密、解密、签名、验证等功能。Crypto利用OpenSSL库来实现它的加密技术它提供OpenSSL中的一系列哈希方法包括hmac、cipher、decipher、签名和验证等方法的封装。Crypto官方文档http://nodejs.org/api/crypto.html 博客文章http://blog.fens.me/nodejs-crypto/ 写的非常详细。本文介绍如何使用Crypto的DES算法就可以帮助我们实现立即可用的DES算法。  1、我们参照官方文档 https://github.com/aspnet/JavaScriptServices/tree/dev/src/Microsoft.AspNetCore.NodeServices#microsoftaspnetcorenodeservices我们创建一个.NET Core Console应用程序 DotNETNodeApp添加Microsoft.AspNetCore.NodeServices 包引用 Install-Package Microsoft.AspNetCore.NodeServices –Pre 2、配置环境.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}); //构建容器IServiceProvider serviceProvider services.BuildServiceProvider();INodeServices nodeServices serviceProvider.GetRequiredServiceINodeServices(); 3、我们在项目创建一个Node文件夹然后添加一个cryptUtil.js 文件内容如下 var crypto require(crypto); module.exports {    encrypt: function (callback,plaintext, key,iv) {        var ecb   des-ecb;        var enkey new Buffer(key);        var eniv new Buffer(iv ? iv : 0);        var cipher crypto.createCipheriv(ecb, enkey, eniv);        cipher.setAutoPadding(true)  //default true        var ciph cipher.update(plaintext, utf8, base64);        ciph cipher.final(base64);        callback(null /* error */, ciph);    },     decrypt: function (callback, encrypt_text,key, iv) {      var ecb   des-ecb;      var dekey new Buffer(key);        var deiv new Buffer(iv ? iv : 0);        var decipher crypto.createDecipheriv(ecb, dekey, deiv);        decipher.setAutoPadding(true);        var txt decipher.update(encrypt_text, base64, utf8);        txt decipher.final(utf8);        callback(null, txt);    }};   这里有有个JS函数它将在.NET 程序中被调用通过传入一个 Node风格的回调函数和三个参数来计算结果。在NodeJS中一个 JS 文件即代表一个模块module.exports的意思是把当前函数作为一个对象提供出去以供调用我们这里有两个函数分别代表加密/解密。 4、创建一个Des 类封装NodeJs的函数调用 using Microsoft.AspNetCore.NodeServices;using System.Threading.Tasks;   namespace DotNETNodeApp{    public class Des    {        private INodeServices nodeServices;           public Des(INodeServices nodeServices)        {            this.nodeServices nodeServices;        }           public async Taskstring EncryptDES(string data, string key, int iv)        {            var result await nodeServices.InvokeExportAsyncstring(./Node/cryptUtil, encrypt, data, key, iv);            return result;        }           public async Taskstring DecryptDES(string data, string key, int vi)        {            var result await nodeServices.InvokeExportAsyncstring(./Node/cryptUtil, decrypt, data,key , vi);            return result;        }    }}  我们再看一下InvokeExportAsyncT他是一个异步的方法通过传入一个node.js脚本文件模块三个形参来得到一个结果。 方法签名InvokeExportAsyncT(string moduleName, string exportName, params object[] args) 5、我们在控制台里测试下我们的封装效果     Des desUtil new Des(nodeServices);            string data geffzhang;            string key 12345678;             string temp desUtil.EncryptDES(data, key, 0).Result;            Console.WriteLine(temp);            string end desUtil.DecryptDES(temp,key,0).Result;            Console.WriteLine(end);            Console.Read(); 6、这样使用的性能如何呢我们用性能测试组件BenchmarkDotNet看下性能数据使用方法参考 .NET Core性能测试组件BenchmarkDotNet 支持.NET Framework Mono我们创建一个类DesBenchmark在方法中加入Benchmark 特性 using BenchmarkDotNet.Attributes;using Microsoft.AspNetCore.NodeServices;using System;using Microsoft.Extensions.DependencyInjection;using BenchmarkDotNet.Running; namespace DotNETNodeApp{    public class DesBenchmark    {        private IServiceCollection services;        private IServiceProvider serviceProvider;        private INodeServices nodeServices;           public DesBenchmark()        {            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            });             //构建容器            serviceProvider services.BuildServiceProvider();            nodeServices serviceProvider.GetRequiredServiceINodeServices();        }           private string data geffzhang;         private string encryData uTRLyNkKTaFUxmJtHPlYoA;        private string key 12345678;           [Benchmark]        public string EncryptDES()        {            Des desUtil new Des(nodeServices);            return desUtil.EncryptDES(data, key, 0).Result;        }           [Benchmark]        public string DecryptDES()        {            Des desUtil new Des(nodeServices);            return desUtil.EncryptDES(encryData, key, 0).Result;        }     }} 下面是控制台输出的结果性能还是不错的 相关文章:  ASP.NET Core loves JavaScript跨平台的 NodeJS 组件解决 .NetCore 不支持 System.Drawing图形功能的若干问题用BenchmarkDotNet给C#程序做性能测试 原文地址http://www.cnblogs.com/shanyou/p/6014352.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注 赞赏 人赞赏
http://www.yutouwan.com/news/436534/

相关文章:

  • 如何做导购网站体育用品电子商务网站建设方案
  • 怎么做能上谷歌网站网站搜索
  • 沈阳网站制作 房小二网海口网红美食餐厅
  • c 网站开发网站的代理页面怎么做的
  • 怎么申请公司网站做网站资源存储
  • 做旅游网站赚钱吗网络公司名字大全三字
  • 贵阳企业网站设计制作哪个网站可以做曝光台
  • 有哪些做特卖的网站有哪些wordpress商业模板个人
  • 小型手机网站建设哪家好辅料企业网站建设费用
  • 网站机房建设方案重庆网站建设优化排名
  • 医院做网站备案都需要什么谷歌google浏览器
  • 济南网站建设成之运维做问卷调查哪个网站好
  • 网站后台登陆验证码无法显示思行做网站
  • dede自适应网站模板做网站还是微信小程序
  • 中国煤炭建设协网站广州 网站开发 app
  • 门户网站程序页面设计快捷键
  • 汇鑫小学网站建设长沙的互联网网站公司哪家好
  • php电影网站开发做网络平台需要什么条件
  • 织梦xml网站地图深圳微信分销网站制作
  • 品牌网站建设有哪两种模式wordpress快捷键
  • 马鞍山网站建设咨wordpress变成英文
  • wordpress网站跳转中国移动营销策略分析
  • 网站模板资源营销培训机构哪家最专业
  • 秦皇岛英文网站建设长春市住房和城乡建设厅网站
  • ping一下新浪网站怎么做计算机应用教程 网站的建设与维护
  • 怎样建设自己的物流信息网站wordpress分页不起作用
  • 怎么推广网站建设业务弄一个电影网站怎么做
  • 江苏苏中建设集团股份有限公司网站河南省做网站的公司有哪些
  • 网站后台建设费用wordpress 数据库更新
  • 网站建设与维护 许宝良企业查询官网