Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
zqalyc
@zqalyc
Member
NO. 6878 / 2013-04-26

北京
24 Topics / 90 Replies
1 Followers
5 Following
73 Favorites
GitHub Public Repos
  • zhihuishequ 5

    rails4.1 搭建“智慧社区”的平台,PC端、微信、手机网站一体化

  • my_alipay 3

    A gem for new alipay api

  • mars 1

    火星计划

  • glogg_tools 0

    查看项目日志的工具,可打开查看单文件超过2G的文件日志

  • yanchengv.github.io 0

  • cloud2022 0

    springcloud项目 实现gateway网关鉴权与权限控制操作

  • moon_web 0

    springboot

  • cloud2020 0

    springcloud练习

  • my_spree 0

  • vue-admin 0

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 用纯 Ruby 实现了国密 SM2 密码算法 at June 08, 2023

    很好啊👍 之前 ruby 用 SM2,还要用 java 实现

  • 云时代,没有 Ruby 的 SDK,各位怎么破? at January 31, 2023

    这点确实不太友好,这么多年项目中涉及到的第三方接口,都是拿 restapi 自己封装,不过大多情况也没啥难度

  • 中国的 Ruby 职位空缺数量 看着也不是太低 at December 20, 2022

    图有水分,坐标北京切身感受是越来越少

  • 国密 SM2,Ruby 怎么实现? at October 27, 2022

    java 加密代码示例

    // 公钥测试数据
    String encodedPub = "041b0aebadc6444cce91d0c17add879cee687c12a0e6c6373f63dfb5d8253261829c909743567878b037f173980c8a7d744eb54fcb47fa2f585e18fd3619eee988";
    // 待加密数据
    String data = "123"; 
    final String SPEC_NAME = "sm2p256v1";
    final X9ECParameters x9ECParameters = GMNamedCurves.getByName(SPEC_NAME);
    final ECDomainParameters ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN());
    byte[] pointBytes = Hex.decode(encodedPub);
    ECPoint q = x9ECParameters.getCurve().decodePoint(pointBytes);
    ECPublicKeyParameters ecPublicKeyParameters = new ECPublicKeyParameters(q, ecDomainParameters);
    // 采用 C1 || C3 || C2 的模式
    SM2Engine sm2Engine = new SM2Engine(SM2Engine.Mode.C1C3C2);
    sm2Engine.init(true, new ParametersWithRandom(ecPublicKeyParameters));
    byte[] dataBytes = data.getBytes();
    byte[] cipherBytes = sm2Engine.processBlock(dataBytes, 0, dataBytes.length);
    //加密结果
    String encryptedData = new String(Base64.encode(cipherBytes));
    

    加密结果

    BLTZm74dfgY+11nF3uXPP383l7su5gBUb+tZJSWuBeeYoODuDUC+cgPfIxNdWsaNwjmis1Inca0NR32phYWynP/3HnFX3VJ0LFZYhUDdwuAApO72o23D5bWPiaR7Pkb3+/n7PA==
    
  • 国密 SM2,Ruby 怎么实现? at October 24, 2022

    好的 多谢😀 那就用 java 写个吧

  • 国密 SM2,Ruby 怎么实现? at October 21, 2022

    源码加密理解:

    key = OpenSSL::PKey::EC.new("SM2")
    key.generate_key
    public_key = key.public_key
    
    public_key_hex = public_key.to_bn.to_s(16).downcase
    
    # 加密
    data = "123"
    signature = key.dsa_sign_asn1(data)
    signature_base64 = Base64.encode64(signature).gsub("\n", "")
    

    如果前提已知 公钥和秘钥了,使用 group 方式重新赋值公钥秘钥加密,和 java 加密不一致,java 不能解密,求解?

    public_key = "041b0aebadc6444cce91d0c17add879cee687c12a0e6c6373f63dfb5d8253261829c909743567878b037f173980c8a7d744eb54fcb47fa2f585e18fd3619eee988"
    private_key = "f3898159803d4ba4484232d9e29acdda1d098ffc37a5d64db96b606794b43572"
    data = "123" # 待加密数据
    
    group = OpenSSL::PKey::EC::Group.new('SM2')
    ec = OpenSSL::PKey::EC.new(group)
    ec.private_key = OpenSSL::BN.new(private_key, 16)
    public_key_bn = OpenSSL::BN.new(public_key, 16)
    point = OpenSSL::PKey::EC::Point.new(group, public_key_bn)
    ec.public_key = point
    signature = ec.dsa_sign_asn1(data)
    signature_base64 = Base64.encode64(signature).gsub("\n", "")
    
    
  • 国密 SM2,Ruby 怎么实现? at October 19, 2022

    能再详细介绍下使用例子么 谢谢 🤔

  • 亲们,国密 SM3,有没有 ruby 版本 at October 18, 2022

    👍 国密 SM2 的加密方式知道咋搞么?

  • 服务器被墙了怎么办 at September 18, 2019

    我的 vultr 昨天也被墙,无奈更换一台服务器换个 ip,继续打游击

  • [上海][8-24,25] RubyConf China 2019 赞助召集 at May 17, 2019

    支持😍

  • [北京] 比链狮集团招聘~ruby 工程师~ at May 11, 2018

    顶一下😉

  • Rails 静态资源编译 at April 26, 2018

    要解决每次部署编译 js 时间太长,linked_dirs 可以加上

    ['tmp/cache','public/assets']
    
  • 今天才知道 Rails Tutorial 的作者是哈佛 + 加州理工的... at December 22, 2017

    确实很不错,受益匪浅

  • Ruby China 生日快乐! at October 30, 2017

    🍰 🎂 🎉

  • Ruby 重返前 10 名: TIOBE 10 月编程语言排行榜 at October 10, 2017

    大家第二语言选择谁

  • [北京] C 轮互金公司 招聘 高级 Ruby 开发工程师 15k-30k 薪资可议 at September 26, 2017

    顶一下!我也在东升科技园,ruby 伙伴!

  • 下拉列表多选问题 at July 21, 2017

    你可以用select2 多选,gem select2-rails能满足你的需求

  • 关于 alipay 的问题 at July 11, 2017

    核对一下你的公钥和私钥,支付宝公钥以及自己的公私钥配置是否正确

  • 关于 alipay 的问题 at July 11, 2017

    同一订单不能重复支付!订单 ID 重复,貌似也会出现这种情况

  • 最近需要做的项目需要一个身份证实名认证接口,求好用的。。。 at September 21, 2016

    目前项目用的是聚合,用着还不错

  • [北京] 抗癌卫士 APP 招聘 Ruby 攻城狮,坐标北京朝阳区四惠东,弹性工作不打卡,老板帅气颜值高,技术团队氛围好,产品社会价值大。 at July 29, 2016

    #15 楼 @eagle_122 产品很好,当时贵公司也极力挽留,可惜离着远,当时确实不方便搬家,希望你们尽快找到合适的人

  • [北京] 抗癌卫士 APP 招聘 Ruby 攻城狮,坐标北京朝阳区四惠东,弹性工作不打卡,老板帅气颜值高,技术团队氛围好,产品社会价值大。 at July 29, 2016

    赞一个,虽然没去成,但是面试官留给我的印象很不错,公司也很有诚意,希望小伙伴们踊跃前往

  • 微信扫一扫功能如何实现?有没有大神分享一下心得? at June 28, 2016

    weixin_authorize 会生成weixin_controller_decorator.rb,自带handle_scan_event方法

    重写此方法

    # 扫描带参数二维码事件: 2. 用户已关注时的事件推送
        def handle_scan_event
          # reply_text_message("扫描带参数二维码事件: 2. 用户已关注时的事件推送, keyword: #{@keyword}")
          scene_id = @keyword
          openid = @weixin_message.FromUserName
          message = User.bind_user openid,scene_id
          reply_text_message(message)
        end
    
  • 微信扫一扫功能如何实现?有没有大神分享一下心得? at June 28, 2016

    最近做了一个扫二维码加好友的功能,使用 weixin_authorize,基本思路是生成的二维码带有随机数生成的 scene_id,scene_id 绑定用户,用户扫码后会获取 scene_id 和 open_id 进行处理

  • Rails 上传大的文件 at March 18, 2016

    #13 楼 @bajiudongfeng webuploader 你看一下这个,有分片上传功能

  • Rails 上传大的文件 at March 18, 2016

    #11 楼 @bajiudongfeng 传到阿里云文件服务器了

  • [北京] 洋浦伟业科技发展有限公司(梆梆安全)招聘 Ruby 开发工程师,已完成 C 轮融资,高薪 + 期权 at July 28, 2015

    #2 楼 @carrie 五道口

  • [北京] 同心医联招募 Ruby 高级攻城狮 2 枚 at June 25, 2015

    顶一个,同行业~还挨得这么近,哈哈

  • [北京] 洋浦伟业科技发展有限公司(梆梆安全)招聘 Ruby 开发工程师,已完成 C 轮融资,高薪 + 期权 at June 12, 2015

    位置离我不太远,顶一个

  • [北京] 互联网金融公司招聘 Ruby on Rails 开发工程师 3 名 at June 12, 2015

    工作时间自由度很不错

  • 1
  • 2
  • 3
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English