12 猿敲月下码

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2k+

Golang进行RSA签名(SHA256withRSA)

最近在做开放平台项目,在编写SDK的时候用到签名验签功能,采用Sha256WithRSA签名,具体流程是使用私钥生成签名,然后公钥进行验签。现在把私钥签名的代码分享出来。package commonimport ( "crypto" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/pem" "errors" "sort" "strings")const ( PEM_BEGIN = "-

2020-07-07 20:12:45

Nodejs进行RSA签名(SHA256withRSA)

最近在做开放平台项目,在编写SDK的时候用到签名验签功能,采用Sha256WithRSA签名,具体流程是使用私钥生成签名,然后公钥进行验签。现在把私钥签名的代码分享出来。package.json添加依赖:"dependencies": { // 加密库 "jsrsasign": "^8.0.19", }完整代码:const {KJUR, hextob64} = require('jsrsasign')const HashMap = { SHA256withRSA:

2020-07-07 20:03:11

Rust进行RSA签名(SHA256withRSA)

最近在做开放平台项目,在编写SDK的时候用到签名验签功能,采用Sha256WithRSA签名,具体流程是使用私钥生成签名,然后公钥进行验签。现在把私钥签名的代码分享出来。添加依赖在Cargo.toml添加:[dependencies]# rsa库rsa = "0.3.0"# 加密库rust-crypto = "^0.2"# base64库base64 = "0.12.3"完整代码:extern crate rsa;extern crate crypto;use rsa::{R

2020-06-30 10:00:33

The consumer group has been created before, specify another name please.

rocketmq 报 The consumer group has been created before, specify another name please. 错误可能是配置了多个consumer,但没有指定instanceName。确保instanceName唯一consumer.setInstanceName("consumer-instance-1");consumer2.setInstanceName("consumer-instance-2");...

2020-06-29 19:07:28

nodejs使用http客户端发送请求

这里使用一个第三方模块,needle,其使用方式比nodejs自带的http模块好用。package.json依赖:"dependencies": { "needle": "^2.5.0" }使用方式:在文件头部引用模块const needle = require('needle')GET请求// 请求参数,json格式const allParams = { name: 'jim' }needle.request('GET',url, allParams, { //

2020-06-24 15:18:33

Python进行RSA签名,支持SHAWithRSA,SHA256WithRSA

Python使用私钥生成签名串,支持SHAWithRSA,SHA256WithRSAimport rsaimport base64__pem_begin = '-----BEGIN RSA PRIVATE KEY-----\n'__pem_end = '\n-----END RSA PRIVATE KEY-----'def sign(content, private_key, sign_type): """签名 :param content: 签名内容 :type

2020-06-18 09:27:57

go语言http请求,包括文件上传

最近在做开放平台项目,需要用到HTTP请求,对HTTP请求做了简单封装。封装后的代码可以实现:Get提交POST提交(表单)POST提交(json)POST提交(文件上传)完整代码如下:package commonimport ( "bytes" "encoding/json" "io" "io/ioutil" "mime/multipart" "net/http" "net/url" "os" "path/filepath" "strings")type U

2020-06-18 08:53:28

spring cloud gateway 获取真实IP

private static final String IP_UNKNOWN = "unknown";private static final String IP_LOCAL = "127.0.0.1";private static final int IP_LEN = 15; /** * 获取客户端真实ip * @param request request * @return 返回ip */ public static String getIP

2020-06-10 09:03:59

admin vue页面右下角添加客服按钮

admin vue页面右下角添加客服按钮,如图所示第一步打开App.vue在div中添加:<div id="kefu"> <el-popover placement="left-end" trigger="click" > <p style="text-align: center;">微信扫一扫添加客服</p> <img src="@/assets/im

2020-06-08 17:19:22

C#模拟post请求调用request.GetResponse()超时,报 System.Net.WebException: The operation has timed out.

C#模拟post请求调用request.GetResponse()超时,报 System.Net.WebException: The operation has timed out.解决方法1:设置:request.ServicePoint.Expect100Continue = false;解决方法2,尝试使用usingusing (HttpWebResponse respon...

2020-04-02 17:18:02

一起来学Java8(九)——CompletableFuture

同步异步计算机技术发展迅猛,不管是在软件还是硬件方面都发展的非常快,电脑的CPU也在更新换代,强劲的CPU可以承担更多的任务。如果程序一直使用同步编程的话,那么将会浪费CPU资源。举个列子,一个CPU有10个通道,如果所有程序都走一个通道,那么剩余9个通道都是空闲的,那这9个通道都浪费掉了。如果使用异步编程,那么其它9个通道都可以利用起来了,程序的吞吐量也上来了。也就是说要充分利用CPU资源,...

2020-03-22 08:44:57

一起来学Java8(八)——ForkJoin

在一起来学Java8(七)——Stream中我们了解了reduce的用法,其中并行流的底层是使用了分支/合并框架。分支/合并框架的核心思想是把一个大的任务拆分成多个子任务,然后把每个子任务的执行结果整合起来,返回一个最终结果。ForkJoinPool分支/合并框架的核心类是java.util.concurrent.ForkJoinPool,从名称中可以看到它是一个线程池,线程数量是默认处理器...

2020-02-27 10:51:19

以管理员身份运行 Microsoft Edge 时不支持登录。请以非管理员身份重新启动

Win10 启动Edge,登陆微软账号报:以管理员身份运行 Microsoft Edge 时不支持登录。请以非管理员身份重新启动解决办法:Win +R 运行 gpedit.msc计算机配置—–>windows设置—–>安全设置—–>本地策略—–>安全选项—–>用户帐户控制:用于内置管理员帐户的管理员批准模式—–>启用—–>重启电脑...

2020-02-16 08:47:56

shell脚本实现九九乘法表

当初学习shell脚本做的一个练习题。简单版本99.sh#!/bin/bash# ----------------------# 九九乘法表# ----------------------echo "==== 九九乘法表 ===="i=1while(( $i<=9 ))do j=1 while(( $j<=$i )) do printf "%...

2019-12-27 20:46:25

一起来学Java8(七)——Stream(下)

在一起来学Java8(七)——Stream(中)我们学习了Stream.collect的用法,今天我们来学习下Stream.reduce的用法。reduce操作可以理解成对Stream中元素累计处理,它有三个重载方法。重载1:Optional<T> reduce(BinaryOperator<T> accumulator);重载2:T reduce(T identi...

2019-11-13 11:45:56

一起来学Java8(七)——Stream(中)

在一起来学Java8(七)——Stream(上)中我们了解到了Stream对象的常用方法以及用法。现在一起来深入了解下Stream.collect()方法的使用collect基本用法collect意思为收集,它是对Stream中的元素进行收集和归纳,返回一个新的集合对象。先来看一个简单例子:public class CollectTest { @Data @AllArgsConstru...

2019-11-13 11:44:42

一起来学Java8(七)——Stream(上)

从Java8开始,新增了一个java.util.stream包,这个包下的类和接口用来处理集合中的元素,在这个包下面有一个Stream接口,我们主要使用这个接口来对集合进行操作。创建Stream首先来看下创建Stream有哪几种方式。使用Stream自带的静态方法生成Stream对象,常见的静态方法有以下几个:Stream.of(T)Stream.of(T… values)Strea...

2019-11-12 08:59:32

一起来学Java8(六)——Optional

Optional类是Java8新增的一个类,其作用可以有效避免空指针异常。Optional类的代码比较简单,很容易就能看懂,其实质就是一个辅助类,把需要处理的对象做了一层包装,然后再使用Optional中的方法时,可以有效得判断处理对象是否为空,从而做出正确判断。接下来我们看下如何使用Optional。创建Optional创建Optional有3种方式:Optional.empty()...

2019-11-11 09:57:16

一起来学Java8(五)——接口默认方法

Java8新加入一个特性,允许在接口方法中给定一个默认实现。前提是在方法前面加一个default关键字。public interface InterfaceMethod { default void say() { System.out.println("hello"); } default int getAge() { return 1; }}这种设计看起来是有点违背...

2019-11-08 17:18:02

一起来学Java8(四)——复合Lambda

在一起来学Java8(二)——Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda。Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用Lambda表达式实现函数式接口抽象方法后,还可以再次调用接口的其它方法,因为从Java8开始,接口中可以包含默认实现的方法。关于接口默认实现方法将会在后面章节详细阐述。常见的复合Lambda常见的有以...

2019-11-07 09:06:46

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。