返回顶部
首页 > 资讯 > 后端开发 > Python >Python制作钉钉加密/解密工具
  • 732
分享到

Python制作钉钉加密/解密工具

工具Python 2022-06-04 18:06:55 732人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

又是很久没有写技术博客了,盖因最近都在学习知识,也没有总结出什么值得分享的内容,所以一直停笔至今。最近的工作和钉钉的开发打上了交到,官方并没有提供任何python的SDK,于是只能全部自己写。现在我将其中实

又是很久没有写技术博客了,盖因最近都在学习知识,也没有总结出什么值得分享的内容,所以一直停笔至今。最近的工作和钉钉的开发打上了交到,官方并没有提供任何python的SDK,于是只能全部自己写。现在我将其中实现起来相对费时间的“加密/解密/签名”部分分享出来,希望能帮助到一些人。

加密/解密的具体机制,可以参考 官方文档 。

在你的项目中安装这个扩展,可以使用: pip install dingtalk_crypto 安装。

使用方法,可以参考下面的测试代码:


# -*- coding: utf-8 -*-

import JSON
from dingtalk_crypto import DingTalkCrypto

# 这个是钉钉官方给的测试数据
# @see https://open-doc.dingtalk.com/doc2/detail.htm?treeId=175&articleId=104945&docType=1#s14
encrypt_text = '1a3NBxmCFwkCJvfoQ7WhJHB+iX3qHPsc9JbaDznE1i03peOk1LaOQoRz3+nlyGNhwmwJ3vDMG' 
        '+OzrHMeiZI7gTRWVdUBmfxjZ8Ej23JVYa9VrYeJ5as7XM/ZpulX8NEQis44w53h1qAgnC3PRzM7Zc' 
        '/D6Ibr0rgUathB6zRHP8PYrfgnNOS9PhSBdHlegK+AGGanfwjXuQ9+0pZcy0w9lQ=='

crypto = DingTalkCrypto(
  '4g5j64qlyl3zvetqxz5jiocdr586fn2zvjpa8zls3ij',
  '123456',
  'suite4xxxxxxxxxxxxxxx'
)

signature = '5a65ceeef9aab2d149439f82dc191dd6c5cbe2c0'
timestamp = '1445827045067'
nonce = 'nEXhMP4r'


class TestCrypto:
  def test_decrypt(self):
    randstr, length, msg, suite_key = crypto.decrypt(encrypt_text)
    msg = json.loads(msg)

    assert msg['EventType'] == 'check_create_suite_url'
    assert msg['Random'] == 'LPIdSnlF'
    assert suite_key == 'suite4xxxxxxxxxxxxxxx'

  def test_encode(self):
    encrypt_msg = crypto.encrypt('hello world')
    randstr, length, msg, suite_key = crypto.decrypt(encrypt_msg)
    assert msg == 'hello world'

  def test_check_signature(self):
    assert crypto.check_signature(encrypt_text, timestamp, nonce, signature)

  def test_sign(self):
    msg = crypto.encrypt('hello world')
    actual_sig, actual_time, actual_nonce = crypto.sign(msg)
    assert True

最后,贴出项目的 源码地址 ,希望能一些交流。

--结束END--

本文标题: Python制作钉钉加密/解密工具

本文链接: https://lsjlt.com/news/13927.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python制作钉钉加密/解密工具
    又是很久没有写技术博客了,盖因最近都在学习知识,也没有总结出什么值得分享的内容,所以一直停笔至今。最近的工作和钉钉的开发打上了交到,官方并没有提供任何Python的SDK,于是只能全部自己写。现在我将其中实...
    99+
    2022-06-04
    工具 Python
  • nodejs 实现钉钉ISV接入的加密解密方法
    这是我开发Worktile钉钉版本的时候遇到的当时感觉比较难的地方,现在写下来方法供大家学习交流 解密方法 exports.decryptMsg = function (text) { var aes...
    99+
    2022-06-04
    加密解密 方法 nodejs
  • Java 加解密工具类
    一、对称加密算法  加密和解密使用相同密钥的加密算法。常用的算法包括DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6。 DES(Data Encryption Standard):数据加密标准,速度较快,适用于加...
    99+
    2023-09-29
    java
  • Java:Hutool工具箱之Hutool-crypto加密解密
    文档 https://hutool.cn/docs/#/crypto/概述 目录 1、摘要算法 digest2、对称加密 symmetric3、不对称加密 asymmetric 重点单词: symmetric [sɪ'me...
    99+
    2023-08-21
    java 开发语言
  • JavaClass加密工具ClassFinal详解
    目录Jar包加密工具 ClassFinal介绍环境依赖使用说明示例maven插件方式无密码模式机器绑定启动加密后的jar启动参数给密码不加密码参数直接启动1. 密码文件获取2. 交互...
    99+
    2023-03-20
    java加密class Java Class 加密工具 java加密工具
  • 国密算法 SM4 加解密 java 工具类
    👑 博主简介:知名开发工程师 👣 出没地点:北京 💊 2023年目标:成为一个大佬 ————————————————————————————————...
    99+
    2023-09-01
    算法 java 开发语言
  • 超级简单加解密工具
    方案:读取文件头,提取特定长度进行加密,加密后加这一部分写入源文件,解密可逆。 #! /usr/bin/env python #coding=utf-8 #Edit:Sandy #时间:2019年1月27日13:57:04 #功能:文件...
    99+
    2023-01-30
    简单 工具 加解密
  • Java中解密微信加密数据工具类
    当我们开发微信公众号,小程序等,微信返回给我们的数据往往是经过加密的,我们需要使用 sessionKey 配合解密,才能得到我们想要的数据 1、引入依赖 <!-- lomb...
    99+
    2024-04-02
  • python密码破解工具patator
    kali下默认安装patator,一款python的暴力破解工具,支持多种协议破解,速度快,使用方便。https://github.com/lanjelot/patator...
    99+
    2023-01-31
    密码破解 工具 python
  • 通过Golang编写一个AES加密解密工具
    目录前言AES加密介绍及实现原理AES用在哪里AES加密是如何实现的AES加密模式Go实现AES加密工具scode前言 本文包含如下两个内容: AES加密介绍及实现原理 Go实现AE...
    99+
    2024-04-02
  • linux下系统中网页版钉钉加密消息无法查看的解决方法
    这篇文章主要介绍了linux下系统中网页版钉钉加密消息无法查看的解决方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。linux系统中网页版的钉钉不能显示加密消息。该怎么办呢...
    99+
    2023-06-10
  • python 加密解密
    MD5  import hashlib  c = raw_input('输入字符:') #python3为input b = hashlib.md5()  b.update(c.encode(encoding='utf-...
    99+
    2023-01-31
    加密解密 python
  • 【教程】解决php微擎中的goto加密解密,一键解密工具
    今天,我将向大家揭秘一款神奇的工具——goto解密工具,轻松解密这个看似棘手的问题。 无数开发者都曾因为php中的goto功能而头疼不已。goto解密工具其中之一就是解密goto代码。通过精妙的算法和强大的解析能力,它能够解密被goto加密...
    99+
    2023-09-01
    php 开发语言
  • php有哪些加密工具
    php中常用的加密工具有ZendGuard和ionCube两种ZendGuardZend Guard是一个对带有php标记或源码的文件进行加密的工具,使用Zend Guard可以对php脚本进行加密保护和对php产品进行商业许可证管理,但当...
    99+
    2024-04-02
  • python rsa 加密解密
    最近有需求,需要研究一下RSA加密解密安全;在网上百度了一下例子文章,很少有文章介绍怎么保存、传输、打印加密后的文本信息,都是千篇一律的。直接在一个脚本,加密后的文本信息赋于变量,然后立马调用解密。仔细想了...
    99+
    2022-06-04
    加密解密 python rsa
  • Python RSA加密解密
    一、RSA加密算法 RSA加密算法是一种非对称加密算法,加密的秘钥是由公钥和私钥两部分组成秘钥对,公钥用来加密消息,私钥用来解密消息,公钥是公开的,给对方进行加密,私钥则是用户自己保留,用来对加密的数...
    99+
    2023-09-03
    python RSA 加密 解密
  • 怎么通过Golang编写一个AES加密解密工具
    本篇内容主要讲解“怎么通过Golang编写一个AES加密解密工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么通过Golang编写一个AES加密解密工具”吧!AES加密介绍及实现原理AES(...
    99+
    2023-06-30
  • Android AES加密工具类分享
    1、AES加密工具类 java不支持PKCS7Padding,只支持PKCS5Padding。我们知道加密算法由算法+模式+填充组成,下一篇介绍iOS和Android通用的AE...
    99+
    2022-06-06
    工具类 aes加密 工具 aes Android
  • Unity3D 代码加密保护工具
    加密方式对于Unity3D的保护方式,主要是通过Virbox Protector Standalone对Unity3D程序的整个生成目录进行加密,可以保护Unity的主要代码逻辑不被反编译,最大程度保护软件开发商的合法权益,同时DSProt...
    99+
    2023-01-31
    代码 工具 Unity3D
  • 如何实现BAT加密工具
    小编给大家分享一下如何实现BAT加密工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!bat文件虽然好用,但安全性太脆弱 随便什么人都可以打开查看,甚至修改其中内...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作