由天狐宗开发的工具,方便开发时使用,已更名为tianhutools
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tianhutools-1.0.3.tar.gz
(9.1 kB
view hashes)
Built Distribution
Close
Hashes for tianhutools-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 247fd53efd5c6a68d335783b935002337abffedcc25f57fd5ba1c52b88af66c8 |
|
MD5 | 6c4bc6e8fd2042e1e9b2f1fe51c3f850 |
|
BLAKE2b-256 | f25e9528f3071dc9917175da14fbed538dab6fd0314afc1ffcdc2b985bd34f4e |