Skip to main content

tianhutools

author:Sen

e-mail:tianhuzong@qq.com Github:https://github.com/tianhuzong Gitee:https://gitee.com/thzsen QQ:1485319167


Tianhuzong开发的工具,方便在开发中使用 1.0.2加入了加密解密内容:RSA,AES,凯撒加密


1.0.3版本中,修复了维吉尼亚密码的错误,引入了与ip地址有关的类IP


1.0.4版本中,新增了检测ip是否为合法的IPv4



1.0.5中,修复一个命名冲突


2023-6-3 +0800,正式更名为tianhutool,版本重置 并加入了文本缩短


new 1.0.1版本中,将文本缩短修改为使用Python标准库re,math,和第三方库jieba


1.0.2版本中,修复了上个版本未将jieba安装进setup,并将rsa密钥修改为pem格式,rsa的密文,明文,签名文本与aes的密文,明文都修改为base64


1.0.3版本中,修改了AES加密使用的lib,修复了RSA加密出的错误 ##使用方法:


####安装模块

pip install tianhutools

安装完模块之后接下来就是引用了

下面是引用jiami模块的类的用法

from tianhutools.jiami import *
#-----RSA-----
rsa = RSA()
#生成密钥对
(gongyao,siyao) = rsa.newkeys(1024)#返回生成的密钥对
#加密
mingwen = "这是一段中文字符串"
miwen = rsa.jiami(gongyao,mingwen)#返回密文
#解密
res = rsa.jiemi(siyao,miwen)#返回明文
#数字签名
sign = rsa.sign(siyao,"这是被签名的文本")#返回签名文本
#签名验证
res = rsa.qmyz("这是被签名的文本",sign,gongyao)#返回布尔值

#-----凯撒密码-----
kaisa = KaiSa()
#加密
miwen = kaisa.jiami("Hello,world",3)
#第一个参数为欲加密的文字,除英文字母外的都不会被加密
#第二个参数是偏移量,正数表示向右偏移,负数表示向左偏移

#解密
mingwen = kaisa.jiemi(mingwen,3)
#第一个参数是密文
#第二个参数是偏移量,与加密时的偏移量相同

#-----AES-----
aes = AES
#生成AES秘钥
key = aes.newkey()#自动生成随机秘钥,bytes
#加密
miwen,suijishu,tag = aes.jiami('这是被加密的内容',key)
# 第一个参数是被加密的内容,第二个参数是秘钥
# 返回值第一个是密文
# 第二个是加密时生成的随机数
# 第三个是加密时生成的验证标签

#解密
mingwen = aes.jiemi(miwen,key,suijishu,tag)
# 第一个参数是密文
# 第二个参数是密钥
# 第三个参数是加密时生成的随机数
# 第四个参数是加密时生成的验证标签

#-----维吉尼亚密码-----
wjny = Weijiniya()
#加密
miwen = wjny.jiami("这是被加密的文字",'thisisakey')
#返回密文

#解密
mingwen = wjny.jiemi("这是被解密的文字",'thisisakey')
#返回明文

下面是使用ip模块的类的用法

from tianhutools.ip import *
ip = IP()
#请注意,输入的ip应为IPv4地址
#IP地址的基本信息
infomation = ip.jbxx(ip = '192.0.2.0')
#ip地理位置
geo = ip.geo(ip = '8.8.8.8')

下面是文本缩短实例

from tianhutools.text import *
text = Text()
longstring = """
ChatGLM-6B是清华大
学知识工程和数据挖掘小组(KnowledgeEngineeringGroup(KEG)&DataMiningatTsinghuaUniversity)发布的一个开源的对话机器人。
根据官方介绍,这是一个千亿参数规模的中英文语言模型。并且对中文做了优化。本次开源的版本是其60亿参数的小规模版本,约60亿参
数,本地部署仅需要6GB显存(INT4量化级别)。ChatGLM-6B模型卡信息:https://www.datalearner.com/ai-models/pretrained-models/ChatGLM-6B从目前的使用情况看,这个模型虽然不大,但也是与ChatGPT类似,做了针对对话的调优,使用体验很好。下图是几个对话实例
:该模型的基础模型是GLM(GLM:GeneralLanguageModelPretrainingwithAutoregressiveBlankInfilling),是一个千亿基
······
"""
#此处不写太长
res = text.suoduan(longstring)
#第一个参数是待压缩文本
#第二个参数是最长长度(被缩短后的文本长度),默认500

Release files for tianhutools 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tianhutools 1.0.3
File Size Uploaded
tianhutools-1.0.3.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tianhutools 1.0.3
File Interpreter ABI Platform
tianhutools-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 17.0 kB

Release files / tianhutools-1.0.3.tar.gz

Download URL tianhutools-1.0.3.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bdf05848460081e94aade12ea5c9ca46fa1af15e1db3824e6db5f67e758d96d0
BLAKE2b-256 checksum
How to use checksums
37fc137ed39370b39cb4ca91d9ba0b262a0ce8fb8bac4ac7eda989c96fc0c97b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / tianhutools-1.0.3-py3-none-any.whl

Download URL tianhutools-1.0.3-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
247fd53efd5c6a68d335783b935002337abffedcc25f57fd5ba1c52b88af66c8
BLAKE2b-256 checksum
How to use checksums
f25e9528f3071dc9917175da14fbed538dab6fd0314afc1ffcdc2b985bd34f4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page