首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Fabric简单国密改造实验方案

所以我打算直接从最底层SHA256、ECDSA、AES等算法进行替换,而且只是代码实现上替换,所有的包名、对外接口(公共变量、公共方法)保持不变,这样修改量特别小,出错可能性也降低了很多。...2.1.2 数字签名算法 发Fabric中默认采用ECDSA签名算法,对应国密算法SM2,所以我们对应建立github.com/studyzy/crypto/ecdsa来替换系统库:crypto/...主要包括: crypto    //系统RegisterHash在Fabric启动时莫名调用,导致SM3注册SHA256覆盖,所以独立出一个cryptocrypto/elliptic  ...studyzy/crypto/sha256,将crypto/ecdsa替换成github.com/studyzy/crypto/ecdsa ……一个一个把前面提到系统包替换了。...因为Fabric SDK不是一个最终应用程序,不可能打包到docker镜像中,而是另外golang源码进行引用,所以我们前面那种修改vendor代码方式不靠谱

3.2K20

Flutter Platform Channels(二)

我们想要一些插件作者可以立即开始使用东西,不需要很多样板或复杂构建设置。 我认为method channel概念一个不错答案,但如果它仍然唯一答案,我会感到惊讶。...default子句处理调用未知方法情况(很可能由于编程错误)。...这意味着前面描述“类JSON”值支持作为方法参数和(成功)结果。 特别是,异构列表支持多个参数,而异构映射支持命名参数。 默认参数值为null。...这样做允许插件使用者在他们应用程序中组合任意数量插件,不会有channel名称冲突风险。...Examples: 在模块内部,我们主要关心防止编程错误,而这些错误超出了编译器静态检查范围,并且在运行时没有检测到,直到它们在时间或空间上造成非本地破坏。

2.8K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flutter 2.10更新详解

    ⽀持,无需再通过 --enable-windows-desktop 标记来单独配置 Windows 桌面版应用程序支持,因为它现在已经默认启用!...与往常一样,性能增强、减少内存使⽤和减少延迟 Flutter 团队⾸要任务。期待未来版本进一步改进。...例如,如果你向你应⽤添加了一个插件,该插件需要您提⾼最低支持 Android SDK 版本,你现在会在错误信息中看到「Flutter Fix」建议。...这意味着基于稳定 Flutter SDK 构建应⽤将不再在 32 位 iOS 设备上运行,并且 Flutter ⽀持最低 iOS 版本将增加到 iOS 11。...破坏性改动 Flutter还努力在每个版本和此版本中减少破坏性改动,尽管Flutter还没有完全归零,但Flutter会继续努力!

    1.6K30

    玩转 PI 系列-如何在 Rockchip Arm 开发板上安装 Docker Tailscale K3s Cilium?

    2G 版本)•存储:eMMC 默认 8GB(可选 16GB/32GB/64GB)(我买 16G 版本)•1 路 HDMI2.0 支持 4K@60Hz 或 1080P@120Hz•1 路自适应千兆以太网口... Docker/Tailscale/K3s/Cilium 等,需要直接用到 Kernel 紧密相关功能,但是这些功能在官方提供 Debian Linux 中又没有,就需要我们按照官方提供《Linux...如果要正常状态运行,其只依赖于一个内核配置: # Tailscale CONFIG_TUN=y 如果 Wireguard 或其他对内核依赖较多相关软件,请自行查找相关内核配置需求。...对于 Kernel 版本也有严格要求,Cilium 部分功能依赖于版本 Kernel....官方明确提到目前最新版本需要 Debian 版本为: Debian Bookworm 12 (stable) Debian Bullseye 11 (oldstable) 可能 Deibian 10

    56020

    长安链详解

    3) chainmaker-docs 初学者福音,这里文章介绍比较成体系由于整个项目在快速迭代,会有描述与代码版本不相符地方,但基本不影响我们对他理解,同时根据commit情况看代码Readme...会更新,当文档有问题时不妨先读下所查模块Readme。...也就是chainmaker go 与 common依赖关系,在版本管理上使用submodule方式管理。.../prepare.sh 4 1 ## 参数4代表节点数量(和组织数量一致),1代表链数量 这里如果使用Mac电脑会报错,因为Mac默认sed版本不是gnu,这里可以修改一下prepare.sh文件...Next 在实际业务使用中,会通过sdk来调用区块链底层,下节将学习使用tinygo开发智能合约、编译智能合约,使用go版本SDK安装、调用、查询智能合约。

    1.8K00

    Go 1.20 发行说明(翻译)

    与 Go 1.17 Slice 一起,这些函数现在提供了构造和解构切片和字符串值完整能力,依赖于它们的确切表示。.../pkg.test -test.v=test2json)不是仅仅-v选项。 关于 go test -json 一个相关更改每个测试程序执行开始时添加一个带有 Action 集事件。...此类引用可能会从不同迭代中观察到变量值(通常会导致测试用例跳过)或由于不同步并发访问导致无效状态。 该工具还可以检测更多地方引用错误。...Cookie 名称中前导和尾随空格会被删除,不是视为无效拒绝。 例如,“名称 = 值” cookie 设置现在被接受为设置 cookie“名称”。...由于Go补丁版本没有引入新API,因此在这种情况下解析器返回了syntax.ErrInternalError。

    61030

    API level targeting to 28,准备好了吗?

    app应用请求 理论上换成https,如有抓到http,需和开发确认,Android9.0限制了明文流量网络请求,非加密流量请求,都会被禁止掉。...测试 覆盖应用中各种请求,生效性,尤其下载相关模块(离线资源、语音包等) 覆盖第三方库,涉及请求模块,功能正常 sdk,是否有使用http客户端,如有使用,会找不到该库,抛出异常 分享sdk,如qq...(非受限灰名单中SDK 接口称为浅灰名单,受限灰名单中SDK 接口称为深灰名单) (1)....3.4 测试应用是否使用非 SDK 接口 (1). 使用 Android 9.0 或更高版本设备调试应用 在您应用上运行测试时,如果该应用访问了某些非SDK 接口,系统就会输出一条日志消息。...现在这个方法弃用了,Build.SERIAL将始终设置为 "UNKNOWN" 以保护用户隐私。

    1.3K20

    Fabric进阶(三)—— 使用SDK动态增加组织

    前言 首先需要介绍一个配置区块概念,fabric中配置信息作为区块写在链上每个配置区块中只有一条配置交易,而且配置区块全量更新,最新配置区块中应包含全部配置信息。...同时,这个通道更新请求需要超过半数的当前组织签名才算有效。 调用SDK增加组织 因为在fabric实际应用中增加组织,所以通过在app中编写代码调用SDK来完成所有操作最优方案。...一、生成新组织证书目录 因为进入fabric网络需要身份所以不论加入新节点还是加入新组织,都要为新增成员生成MSP目录。...1.安装所需Node模块 由于要在Nodejs程序中发送REST请求给configtxlator工具,所以需要事先安装模块(类似于curl):superagent,superagent-promise和...所以如果需要新加组织节点来执行交易,则需要对链码进行升级,不改变链码内容,只改变版本和背书策略,为就是在背书策略中加入新组织。

    2K50

    使用Fabric Node SDK进行Invoke和Query

    官方虽然提供了Node.JS,Java,Go,Python等多种语言SDK,但是由于整个Fabric太新了,很多SDK还不成熟和完善,所以我采用Node JSSDK,毕竟这个功能毕竟齐全,而且也是官方示例时候使用...由于我从来没有接触过Node.JS开发,对这个语言理解不深,所以比较肤浅,希望大家见谅。...1.环境准备 Node.js一个跨平台语言,可以在Linux,Window和Mac上安装,我们在开发时候可以在Windows下开发,最后生产环境一般都是Linux,所以我们这里就以Ubuntu为例...Fabric Node SDK支持Node版本是v6,不支持最新v8版本。...编辑保存好该文件后,我们就可以运行npm install命令来下载所有相关依赖模块,但是由于npm服务器在国外,所以下载可能会很慢,感谢淘宝为我们提供了国内npm镜像,使得安装npm模块快很多。

    1.1K20

    Android Gradle理解以及升级Gradle插件3.0.1遇到

    我们在AS中用到Gradle其实应该被叫做 Android Gradle Plugin,也就是安卓项目上gradle插件; Gradle插件会有版本号,每个版本号又对应有一个或一些 Gradle发行版本...(一般限定一个最低版本),也就是我们常见类似gradle-3.1-all.zip这种东西; 如果这两个版本对应不上了,那你工程构建时候就会报错。...+ 3.3+ 3.0.0+ 4.1+ Android Studio 3.0 之后自动将插件版本升级到3.0.0所以我们也需要对应地把Gradle升级到4.1才行 另外, Android Gradle...这次提示没有26.0.2版本 SDK buildTool ,然后直接在AS报错弹框里点击下载就可以了。现在SDK可以不用翻墙直接下载,速度还蛮快。下载确认解压之后再次同步gradle。...我们全部修改只涉及到gradle配置代码,所以不会对项目里业务逻辑产生任何影响。 这时候再打个包,验证下我们最后一段打包相关gradle脚本是否正常运行.打包成功了,也就全部OK了。

    1.3K10

    Android P 适配指南

    Api,所以不必太在意,浅灰名单属于非常低级别的警告, 客户端适配迫切需要解决 黑名单 列表: 黑名单 基本上我们平时应用级开发不会用到Api,例如: Lsun/util/calendar...1.1.4 调用non-sdk 接口 下图利用各种途径使用 non-sdk 接口结果: ?...adnrodi P 设备上 由于彻底移除了 Crypto, 因此无论 target 何值 都会抛出异常 NoSuchProviderException 许多算法 Bouncy Castle 版本弃用...例如,用户在大部分时间启动某个社交媒体应用可能就属于“工作集”群组。 如果应用间接使用,它们也会被升级到“工作集”群组中 。...所以由于一些历史原因无法及时把服务器变更为 https 应用,应该通过配置文件针对特定域名允许使用明文传输,也就是 http 服务。

    3.5K20

    V3手动鉴权失败之Nodejs篇

    腾讯云API为了更好让用户接入,已经封装好了多种语言SDK,只需用户传入SecrectId、SectectKey以及接口入参,即可完成接口鉴权和请求发送,具体包括Python SDK、Java SDK...案例背景 在某些情况,用户需要实现手动接口鉴权,虽然官网文档已有详细接口鉴权流程,但是由于: 1.V3手动鉴权步骤较为复杂; 2.官网某些demo代码无法直接下载运行,仍需简单调整; 3.官网文档...包含头部内容一一对应。...* 假设时间戳为 1551113065,在东八区时间 2019-02-26 00:44:25,但是计算得到 Date 取 UTC+0 日期应为 2019-02-25,不是 2019-02-26...* Timestamp 必须当前系统时间,且需确保系统时间和标准时间同步,如果相差超过五分钟则必定失败。

    2.2K142

    某电商App sign签名算法解析(五)

    一、目标 李老板: 奋飞呀,据说某电商App升级了,搞出了一个64位sign。更牛入参加密了! 奋飞:这么拉风,拉出来咱们盘盘。...那就先搞搞java密码学相关函数: var secretKeySpec = Java.use('javax.crypto.spec.SecretKeySpec'); secretKeySpec....$init(a, b); console.log(">>> 算法名" + b); return result; } // /* var mac = Java.use('javax.crypto.Mac...$a.run(XXCrashReportFile:133) 本来想直接从静态代码里把这个key找出来,结果绕来绕去搞头晕。...三、总结 重新抓了一下包,比对了一下 &sign=xxx&sv=xxx 模式签名依然存在,大概率算法没变。 64位sign之前版本也存在,大概率也没变。 所以,老板永远

    71130

    万字长文,教你用go开发区块链应用

    由于每个区块都有上一区块 hash 值,区块间由这个值两两串联,形成了区块链。 2、什么区块链 Blockchain ,最早起源于比特币底层技术,并在其后不断演进发展。...而其中去中心化概念,是因为账本信息会被复制到许多网络参与者中,每个参与者都在协作维护账本,不像传统应用数据中心管理着。...Fabric 其中一个用 Go 语言实现版本。...由于这些节点之间需要互相通信,所以我们需要将这些节点放入到一个 Docker 网络中,以 fabric_network 为例。...10、更新锚节点 锚节点必需。普通节点只能发现本组织下其它节点,锚节点可以跨组织服务发现到其它组织下节点,建议每个组织选择至少一个锚节点。

    3.6K20

    Android 9.0适配及部分新特性介绍

    1、Android 9.0应用迁移 1.1 概述 在最开始针对速贷进行Android9.0版本适配时,我使用真机vivo X21A,将targetSdkVersion升到28,运行发现网络请求全报...(列举了常用,具体看官方文档): * 对非 SDK 接口限制:现已禁止访问特定SDK 接口,无论直接访问,还是通过 JNI 或反射进行间接访问。...1.3、适配详解(重要部分) 1.3.1、non-sdk 接口限制 non-sdk即非 SDK 接口,它们不属于官方 Android SDK Java 字段和函数,它们属于实现详情,不提倡调用或者被禁止调用...,需要通过反射等其他手段来实现;SDK接口官方提供,公开标准接口,可以被我们调用。...,但不能保证在未来版本平台中能够继续访问,主要需要关注深灰名单和黑名单,需要找到可以替代SDK接口进行适配。

    3.3K40

    dart系列之:元世界pubspec.yaml文件详解

    并且只能使用小写字母和数字组合,同时不能以数字开头,并且不要使用dart中保留字。 Version Version表示版本号,版本由点分割三个数字,如:11.15.0....Dependencies 有两种依赖信息,一种所有使用到这个packages的人需要用到依赖,这种依赖放在dependencies中。...Executables 有些pacakges提供工具供大家使用,这些工具有可能命令行工具,所以需要在executables中指定可以执行命令路径。...所以有些应用可以依赖于不同dart版本,这时候就需要用到environment: environment: sdk: '>=2.10.0 <3.0.0' 上面的代码中,我们指定了dart sdk版本范围...从dart1.19之后,environment:中还支持指定flutter版本: environment: sdk: '>=1.19.0 <3.0.0' flutter: ^0.1.2 总结

    67130
    领券