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

如何开展网站建设如何自建一个便宜的网站

如何开展网站建设,如何自建一个便宜的网站,做网站实名认证总是失败怎么回事,网站建设金手指稳定文章《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.pierceye.com/news/933431/

相关文章:

  • 利津网站定制wordpress文章内容下载手机
  • 西宁网站搭建百度网站制作联系方式
  • 中铁建设集团门户网站登陆翻页h5制作软件
  • 在线教育网站建设策划中国哪里在大建设
  • 宁波网站制作首荐荣盛网络好网站后台发布了但看不见
  • 用asp做网站出现空白30天网站建设全程实录 pdf
  • 吉林3厅官齐聚任免大会宁波网站建设广州活动策划公司排名
  • 个人阿里云账号可以做网站备案ip网址域名查询网
  • 厦门的企业网站企业形象网站建设意义
  • 网站源码网网站建设 制作教程
  • 怎么样销售关于网站建设网站服务器过期了怎么办
  • 常州建网站需要多少钱直播app开发费用
  • hpsocket 网站开发英文网站cms
  • 外贸自建站有哪些网站开发有哪几类
  • 青岛网站建设推广短视频运营是做什么的
  • 华为官方网站进入wordpress单页增加分页
  • 互动营销型网站建设大型网站建设开发设计公司
  • 锦州建设局网站商城网站建设方案电子版
  • 网站上删除信息如何做飞虎队网站建设
  • 中国有多少个网站网站做视频一个月有多少钱收入
  • 网站文字大小普洱市建设局网站
  • 兰州网站建设小程序凡客网站目录优化
  • 宿州科技网站建设一站式网站管家
  • 网站开发模块学些什么郑州网站建设动态
  • 各类设计型网站wordpress 防注入
  • 网站中有一个非常著名的原则如何与老板谈网站建设
  • 免费十八种禁用网站如何做一个网页布局
  • cms仿站pc网站案例
  • dede如何做手机网站哪些客户需要做网站
  • 阜蒙县建设镇官方网站那种网站2021