Skip to main content

由天狐宗开发的工具,方便开发时使用,已更名为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


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)

Uploaded Source

Built Distribution

tianhutools-1.0.3-py3-none-any.whl (7.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page