精华内容
下载资源
问答
  • python实现
    千次阅读
    2022-07-09 17:12:42

    Program : HMAC

    In this program, you are required to invoke the scrypt algorithms that are implemented in hashlib build-in library. Your program does the following:

    • Read the plaintext password as a text string
    • Encode the password into byte array, with utf-8 encoding
    • Read the salt byte array as a hex string
    • Invoke the scrypt method with parameters n = 4 n=4 n=4, r = 8 r=8 r=8, p = 16 p=16 p=16
    • Output the result byte array as a hex string

    Example Input

    Thi$ i$ my passw0rd!
    477d15cb740ca1da08f6d851361b3c80
    

    Example Output

    fd5963b9e6905d36ca8d00e3a740a3ab7a40b3d60237b6f2ed3025eee770f2d71bc95ba3e98265bea4308250d02f0e10bb78e710d9f0ef7ae9a4fa52a0818d27
    

    solution code

    import hashlib
    import base64
    
    # define the function decode_utf8
    def decode_utf8(in_bytes: bytes) -> str:
        return in_bytes.decode('utf-8')
    #
    
     Read the plaintext password as a text string
    password_str: str = input("input the plaintext password:")
    # Encode the password into byte array, with utf-8 encoding
    password_bytes: bytes = password_str.encode("utf-8")
    # Read the salt byte array as a hex string
    salt_str: str = input("input the salt:")
    salt_bytes: bytes = bytes.fromhex(salt_str)
    # Invoke the scrypt method with parameters n = 4 ,r = 8 ,p = 16
    n: int = 4
    r: int = 8
    p: int = 16
    result_bytes: bytes = hashlib.scrypt(password_bytes, salt=salt_bytes, n=n, r=r, p=p)
    # Output the result byte array as a hex string
    result_str: str = result_bytes.hex()
    print(result_str)
    

    output

    input the plaintext password:Thi$ i$ my passw0rd!
    input the salt:477d15cb740ca1da08f6d851361b3c80
    fd5963b9e6905d36ca8d00e3a740a3ab7a40b3d60237b6f2ed3025eee770f2d71bc95ba3e98265bea4308250d02f0e10bb78e710d9f0ef7ae9a4fa52a0818d27
    
    进程已结束,退出代码为 0
    

    A screenshot of the console output of the program
    在这里插入图片描述

    受于文本篇幅原因,本文相关算法实现工程例如环境及相关库,无法展示出来,现已将资源上传,可自行点击下方链接下载。

    python实现Hash和HMAC算法工程文件

    更多相关内容
  • FP-Growth算法python实现(完整代码)

    热门讨论 2015-07-04 00:40:44
    包含两个文件,一个是刚构造好FP-tree的代码,另一个是FP-Growth算法python实现的完全代码。更多的介绍请见博客:http://blog.csdn.net/bone_ace/article/details/46746727
  • Python实现自动发消息,自定义内容,太省事了!

    万次阅读 多人点赞 2021-08-16 11:27:22
    Python实现电脑自动发消息,内容自定义,快慢均可 二、开发环境 系统:Windows10 64位 Python版本:3.9 Pycharm版本:2021.1.3 模块(库):os、time、pyautogui、pyperclip 三、关键步骤解析 实现的代码文件主要...

    有时候让了解放双手,让电脑来帮我们自动发一些我们想要发的消息,挺省力的,比如说白天写好了演讲稿,晚上要在群里进行文字演讲,那么我们就可以用脚本来实现自动复制、粘贴和发送文字的功能,从而解放我们自己,不用亲自在电脑上反复干这个Ctrl C/Ctrl V这个累活儿。

    还可以把定时多长时间后发送指定内容,这下子就不用坐在电脑前面到点了发弹幕了。

    在这里插入图片描述

    多长时间发1条消息,又或者1秒发多少条信息,都可自由设置,时间设得短的话,一秒发几十条都没问题,只是太快了会形成刷屏的效果…

    今天就把这个技巧给大家分享一下,很简单,没有多少代码。


    一、效果

    我们先来看一下效果,我这里设置的是4s后开始发送,间隔0.5s发一次。

    用Python实现电脑自动发消息,内容自定义,快慢均可


    二、开发环境

    • 系统:Windows10 64位
    • Python版本:3.9
    • Pycharm版本:2021.1.3
    • 模块(库):os、time、pyautogui、pyperclip

    三、关键步骤解析

    实现的代码文件主要有两个,目的分别是:获取聊天窗口位置和实现自动发送消息功能,用到的库在上面已经提过了,在开始写代码之前,先把要用的库先pip下载装好,下面就不再说这个了。

    1.获取聊天窗口位置(源码1)

    在我们发消息之前,得需要知道聊天窗口的位置在哪,即鼠标停留在哪里才能定位到聊天窗口的输入界面,也就是鼠标的x和y坐标是多少。

    这里我用的是os、time和pyautogui这三个库,获取鼠标的实时位置的:

    try:
        while True:
            print("Press Ctrl-C to end")
            x, y = pag.position()  # 返回鼠标的坐标
            posStr = "Position:" + str(x).rjust(4) + ',' + str(y).rjust(4)
            print(posStr)  # 打印坐标
            time.sleep(0.2)
            os.system('cls')  # 清楚屏幕
    except KeyboardInterrupt:
        print('end....')
    

    只要程序运行起来之后,每当我们移动鼠标,鼠标的x和y值就会自动发声改变并打印出来,我们只需要把聊天窗口调出来,把鼠标定位到聊天的窗口的输入位置就能获取到此时的x和y值,有了这个x和y值之后,我们才能告诉下面的发消息程序要在哪里进行粘贴和推送。

    在这里插入图片描述
    当然了,获取鼠标位置的方式有很多种,你们也可以去尝试一下其他方式的获取。

    粉丝福利,点击可查看

    2.实现自动发送消息功能

    在获取了x和y的值之后,我们要做的当然是写程序实现“复制文本→粘贴文本→发送消息”,这里就需要用到 pyautogui 来控制键盘和鼠标,用 pyperclip 来控制电脑进行复制和粘贴,以及用 time 这个库进行一下时间的控制。

    首先我们把需要发送的内容提前准备好,放在content里面,到时候直接拿来用就可以了,内容可以自定义修改,比如这样的:

    content = """   
    呼叫龙叔!
    第二遍!
    第三遍!
    第四遍!
    第五遍!
    """
    

    我们在运行代码之后需要切换到聊天界面,中间需要时间去手动做一下这个操作,所以在复制粘贴和发送代码之前,我们需要留出一些时间给自己,我这里先设定了4s的时间延迟,当然也可以设置几个小时之后开始发消息。

    time.sleep(4)
    

    接下来就是怎么实现复制粘贴和发送了:

    for line in list(content.split("\n"))*10:
        if line:
            pyautogui.click(669,687)  #鼠标点击并定位到聊天窗口
            pyperclip.copy(line)    #复制该行
            pyautogui.hotkey("ctrl","v") #粘贴,mac电脑则把ctrl换成command
            pyautogui.typewrite("\n")   #发送
            time.sleep(5) #每次发完间隔5s
    

    到了这里,所有的东西就已经完成了,如果觉得5s发送1条消息太快,可以修改time.sleep(5)里面的5这个数值,比如说10s发一条消息;如果你设置成0.01秒,那么就会是一个快速发消息的刷屏效果了…

    for循环中的“*10”控制循环次数,也就是让它发10次文本的样子,也可以设置不让它循环,把 list(content.split("\n"))*10 改成 content.split("\n") 即可。

    大致的方法就是上面这些,需要源码可以私聊我,你们也可以去尝试别的方式实现,说白了就是自动发消息,实现方式有很多种,比如更高级一点的直接带着xookie调api发送等等,以及按键精灵也是能实现这个功能,更多精彩,等你自己去挖掘了。


    总结

    这个脚本的本质是实现电脑自动发消息,只是间隔时间的设置导致它也具备快速发消息的功能,不仅仅是QQ,微信也是一样能用。

    基本的原理就是这样了,你们还可以思考一下,如何在这个基础上,让程序在几个小时之后启动,间隔几十分钟发一次,彻底解放自己。

    在这里插入图片描述

    展开全文
  • python写的一个k-means聚类算法的实现,测试数据在压缩包的data.txt中,结果通过图示的方法进行直观展示。
  • python实现樱花

    万次阅读 多人点赞 2022-03-22 15:10:08
    python实现樱花 代码如下: from turtle import * from random import * from math import * def tree(n, l): pd () # 下笔 # 阴影效果 t = cos ( radians ( heading () + 45 ) ) / 8 + 0.25 pencolor ( t, t, t...

    python实现樱花

    代码如下:

    from turtle import *
    from random import *
    from math import *
    def tree(n, l):
        pd ()  # 下笔
        # 阴影效果
        t = cos ( radians ( heading () + 45 ) ) / 8 + 0.25
        pencolor ( t, t, t )
        pensize ( n / 3 )
        forward ( l )  # 画树枝
    
        if n > 0:
            b = random () * 15 + 10  # 右分支偏转角度
            c = random () * 15 + 10  # 左分支偏转角度
            d = l * (random () * 0.25 + 0.7)  # 下一个分支的长度
            # 右转一定角度,画右分支
            right ( b )
            tree ( n - 1, d )
            # 左转一定角度,画左分支
            left ( b + c )
            tree ( n - 1, d )
            # 转回来
            right ( c )
        else:
            # 画叶子
            right ( 90 )
            n = cos ( radians ( heading () - 45 ) ) / 4 + 0.5
            ran = random ()
            # 这里相比于原来随机添加了填充的圆圈,让樱花叶子看起来更多一点
            if (ran > 0.7):
                begin_fill ()
                circle ( 3 )
                fillcolor ( 'pink' )
            # 把原来随机生成的叶子换成了统一的粉色
            pencolor ( "pink" )
            circle ( 3 )
            if (ran > 0.7):
                end_fill ()
            left ( 90 )
            # 添加0.3倍的飘落叶子
            if (random () > 0.7):
                pu ()
                # 飘落
                t = heading ()
                an = -40 + random () * 40
                setheading ( an )
                dis = int ( 800 * random () * 0.5 + 400 * random () * 0.3 + 200 * random () * 0.2 )
                forward ( dis )
                setheading ( t )
                # 画叶子
                pd ()
                right ( 90 )
                n = cos ( radians ( heading () - 45 ) ) / 4 + 0.5
                pencolor ( n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4 )
                circle ( 2 )
                left ( 90 )
                pu ()
                # 返回
                t = heading ()
                setheading ( an )
                backward ( dis )
                setheading ( t )
        pu ()
        backward ( l )  # 退回
    
    
    bgcolor ( 0.956, 0.9255, 0.9882 )  # 设置背景色(把灰色换成淡紫色)
    ht ()  # 隐藏turtle
    speed ( 0 )  # 速度 1-10渐进,0 最快
    tracer ( 0, 0 )
    pu ()  # 抬笔
    backward ( 50 )
    left ( 90 )  # 左转90度
    pu ()  # 抬笔
    backward ( 300 )  # 后退300
    tree ( 12, 100 )  # 递归7层
    done ()
    
    

    效果如下:

    请添加图片描述

    展开全文
  • python实现对称加解密3DES算法

    千次阅读 2022-07-09 11:42:37
    Program : 3DES In this program, you are required to implement the 3DES algorithm using the provided encrypt and decrypt function of DES. The encrypt and decrypt ... python实现对称加密3DES算法工程文件

    Program : 3DES

    In this program, you are required to implement the 3DES algorithm using the provided encrypt and decrypt function of DES. The encrypt and decrypt method of 3DES should also be pure functions, i.e. without side effects.

    Your program does the following:

    • Read a hex string from the console input. The string represents the plaintext bytes as a hex string.

    • Read a hex string from the console input. The string represents the first key bytes as a hex string.

    • Read a hex string from the console input. The string represents the second key bytes as a hex string.

    • Read a hex string from the console input. The string represents the third key bytes as a hex string.

    • Encrypt the plaintext with the three keys.

    • Print the ciphertext bytes as a hex string.

    • Decrypt the ciphertext with the three keys.

    • Print the plaintext bytes after decryption as a hex string.

    Example Input & Output

    Input:

    8787878787878787
    133457799bbcdff1
    0e329232ea6d0d73
    133457799bbcdff1
    

    Output:

    e98a0b8e59b3eeb7
    8787878787878787
    

    solution code

    from libdes import DES_Encrypt, DES_Decrypt
    
    
    def validate_des_key(key: bytes) -> bool:
        for keyByte in key:
            binStr: str = "{0:0>8b}".format(keyByte)
            if sum([1 if b == '1' else 0 for b in binStr]) % 2 == 0:
                return False
        return True
    
    
    if __name__ == '__main__':
        plaintextHex: str = input('plaintext:')
        key1Hex: str = input('key1:')
        if not validate_des_key(bytes.fromhex(key1Hex)):
            raise Exception('Parity check failed on the key.')
        key2Hex: str = input('key2:')
        if not validate_des_key(bytes.fromhex(key2Hex)):
            raise Exception('Parity check failed on the key.')
        key3Hex: str = input('key3:')
        if not validate_des_key(bytes.fromhex(key3Hex)):
            raise Exception('Parity check failed on the key.')
    
        ciphertext1: bytes = DES_Encrypt(
            bytes.fromhex(plaintextHex),
            bytes.fromhex(key1Hex),
        )
    
        ciphertext2: bytes = DES_Decrypt(
            ciphertext1,
            bytes.fromhex(key2Hex),
        )
    
        ciphertext3: bytes = DES_Encrypt(
            ciphertext2,
            bytes.fromhex(key3Hex),
        )
    
        print('ciphertext:', ciphertext3.hex())
    
        plaintext3: bytes = DES_Decrypt(
            ciphertext3,
            bytes.fromhex(key3Hex),
        )
    
        plaintext2: bytes = DES_Encrypt(
            plaintext3,
            bytes.fromhex(key2Hex),
        )
    
        plaintext1: bytes = DES_Decrypt(
            plaintext2,
            bytes.fromhex(key1Hex),
        )
    
        print('plaintext:', plaintext1.hex())
    
    
    

    output

    plaintext:8787878787878787
    key1:133457799bbcdff1
    key2:0e329232ea6d0d73
    key3:133457799bbcdff1
    ciphertext: e98a0b8e59b3eeb7
    plaintext: 8787878787878787
    
    进程已结束,退出代码为 0
    
    

    在这里插入图片描述

    受于文本原因,本文相关算法实现工程无法展示出来,例如requirements环境,libdes库文件等,现已将相关资源上传,可自行点击下方链接下载。

    python实现对称加密3DES算法工程文件

    展开全文
  • 皮尔逊相关系数python实现

    千次阅读 2022-04-02 14:32:47
    皮尔逊相关系数python实现
  • Python实现文件复制

    千次阅读 2022-04-25 02:14:52
    将几行文本写入TXT文件。 然后编写一个函数,将第一个文件的内容“复制”到一个新文件中。 def copyfile(f1,f2): content=f1.read() f2.write(content) f1.close()#关闭文件 f2.close() return ;...
  • 使用 Python 实现一个简单的智能聊天机器人

    万次阅读 多人点赞 2022-04-18 18:37:18
    Python100行代码实现简单的智能聊天机器人
  • DES的python实现

    千次阅读 2022-03-27 17:49:37
    总体结构 各种表 pc_1 = (57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, ...
  • python实现HTTPS通信

    千次阅读 2020-06-07 00:23:14
    python实现HTTPS通信 0x01 前言 之前有一个需要实现基于https通信的连接链路的工具,当时感觉很简单,以为https应该和实现http一样的简单,没想到最后想了好些时间,都没能实现出来,然后看了看网上的一些案例,...
  • python实现图像旋转

    千次阅读 2022-03-17 16:44:42
    图像的几何变换,如缩放、旋转和翻转等,在图像处理中扮演着重要的角色,python实现图像得旋转 #批量旋转图片 from PIL import Image import os def get_filelist(path): Filelist = [] for home, dirs, files...
  • python实现卷积操作

    千次阅读 2021-11-02 12:16:20
    0. 前言 卷积神经网络与全连接神经网络类似, 可以理解成一种变换, 这种变换一般由卷积、池化、激活函数等一系列操作组合而成. 本文就“卷积”部分稍作介绍. 1. 卷积介绍 如图所示, 一张大小为5×5×35 \times5 \...
  • python实现自动扫雷

    万次阅读 多人点赞 2021-11-13 17:49:21
    我的版本是 python 3.6.1 python的第三方库: win32api win32gui win32con Pillow numpy opencv 可通过 pip install --upgrade SomePackage 来进行安装 注意:有的版本是下载pywin32,但是有的要把pywin32升级到最高...
  • python实现RNN

    千次阅读 2020-02-12 13:25:48
    #用python实现RNN #用RNN学习二进制加法:1.学习当前位的加法;2.学习关于前一位的进位 import copy,numpy as np np.random.seed(0) def sigmoid(inX): return 1/(1+np.exp(-inX)) def sigmoid_output_to_...
  • (必备技能)使用Python实现屏幕截图

    千次阅读 热门讨论 2022-01-19 13:41:26
    (必备技能)使用Python实现屏幕截图 文章目录(必备技能)使用Python实现屏幕截图一、序言二、环境配置1、下载pyautogui包2、下载opencv-python包3、下载PyQt5包4、下载pypiwin32包三、屏幕截屏源码与解析1、使用...
  • 机器学习(三)—python实现最小二乘法 本节用python实现最小二乘法。 2.最小二乘法 2.1 线性回归 主要是解决线性问题,无法解决非线性问题。线性回归过程主要解决的是如何通过样本获取最佳的拟合线,最常用的方法是...
  • python实现素数判断

    千次阅读 2022-03-29 12:42:53
    ②能实现循环操作,由操作者输入相关命令来控制是否继续进行素数的判断。如果操作者希望停止这种判断,则可以退出程序。③如果所输入的自然数是一个合数,除了给出其不是素数的结论外,还应给出至少一种其因数分解...
  • python实现lstm数据预测

    千次阅读 2022-03-27 19:44:55
    使用python进行lstm预测,工具为jupyter。读取excel文件预测并将预测值写入excel表,只需要修改文件地址即可使用。
  • 大家在使用python开发或测试中,难免会用到python的多线程操作,下面我就来简单介绍一下多线程的2种基本的实现方法: 【说明】: (1)在多线程中我们需要使用的第三方库是threading; (2)线程必须依附于进程使用...
  • python实现简单的抢票程序

    千次阅读 2022-04-15 15:05:28
    python实现简单的抢票程序
  • python 实现md5加密

    千次阅读 2022-02-24 15:54:01
    Python实现MD5加密是通过hashlib完成的。在演示之前,我们先创建一段文本作为加密数据。如下所示: hashlib_data.py #--encoding='utf-8'-- import hashlib lorem=""" Lorem ipsum dolor sit amet, ...
  • python 实现自动化点击界面方案

    千次阅读 2022-03-07 10:11:53
    PC 端自动化测试使用到的 python 模块主要有 pywinauto、win32gui、pyautogui,主要功能如下: pywinauto:主要使用到 Application 类,用于应用程序管理(打开与关闭应用等)、窗口管理(最小化、最大化、关闭窗口...
  • Python实现简易音频播放器

    千次阅读 2022-03-01 14:07:12
    使用PyGame实现简易的音频播放器。
  • 利用Python实现PING命令

    千次阅读 2021-12-24 10:52:35
    一、PING简介 PING(Packet Internet Grope),也称因特网包探索器。PING使用ICMP回送(ECHO)请求和回送(ECHO)应答报文,一般用于测试网络连通性,统计往返时间、丢包率等。PING UNIX命令格式如下: ...
  • python 实现RSA加密

    千次阅读 2021-10-24 21:07:13
    一、实现RSA加密的脚本如下: import pymysql import base64 import random from Crypto.Cipher import PKCS1_v1_5 as Cipher_pksc1_v1_5 from Crypto.PublicKey import RSA def _encrpt(string, public_key): rsa...
  • 文章目录利用Python实现自动批量图片格式转换0.背景1.简单思路2.进一步改进3.最终版本4.总结 利用Python实现自动批量图片格式转换 0.背景 在一个漫画网站下载了一些图片,但下载下来之后发现是webp格式,不能直接...
  • 使用Python实现AES CBC加密的例子

    千次阅读 2022-03-23 17:49:39
    如题,纯个人记录下,好记性不如烂笔头,方面下次查找。 from Crypto.Cipher import AES import hashlib import base64 #计算sha def get_sha256(text): return hashlib.sha256(text.encode('utf-8')) ...
  • python实现SLAM的程序

    千次阅读 2021-03-03 01:13:52
    为了方便SLAM跟深度学习的结合,别人用python实现了Stereo-PTAM和RGBD-PTAM,基本是很完整的系统了,包含了多线程跟踪和建图、covisibility graph、local bundle adjustment、位姿图优化、回环检测、点云可视化等...
  • Python实现高斯曲线拟合

    千次阅读 2021-03-17 15:43:11
    Python实现高斯曲线拟合 1.目的 针对光谱离散数据,寻峰完成后截取near峰值的数据,利用高斯拟合重绘单峰曲线,进而实现分峰功能 2.原理 3.代码 import numpy as np from math import log, exp import matplotlib....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,885,075
精华内容 754,030
关键字:

python实现

友情链接: stm32f103c8t6.rar