首页 > 其他分享 >惠金所-MD5

惠金所-MD5

时间:2024-01-24 17:26:21浏览次数:21  
标签:img 22% base64 json 惠金 password data MD5

import base64
import json

import hashlib
import requests

cookies = {
    'sajssdk_2015_cross_new_user': '1',
    'sensorsdata2015jssdkcross': '%7B%22distinct_id%22%3A%2218d3a22e6af3f2-07052966993d9d-26001951-2073600-18d3a22e6b0b73%22%2C%22%24device_id%22%3A%2218d3a22e6af3f2-07052966993d9d-26001951-2073600-18d3a22e6b0b73%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%7D',
    'forever': '1',
    'acw_tc': '784e2c8117060834974581452e4b31790cd57c58dc4c9589f1648b3590a40c',
    'SESSION': 'c6221c7d-720a-4411-9000-f8e1f52274a3',
}

headers = {
    'Referer': 'https://www.hfax.com/login.html',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
    'apiVersion': '1.9',
    'ds': 'home',
}

response = requests.get('https://www.hfax.com/pc-api/common/imageCode/login', cookies=cookies, headers=headers)

#获取验证码图片,打码平台图鉴 http://www.ttshitu.com/

img_base64 = response.json()['data']['base64Str'].split('base64,')[1]
img_token = response.json()['data']['token']
decoded_img = base64.b64decode(img_base64)
with open('1.jpg', 'wb') as fp:
    fp.write(decoded_img)


def base64_api(uname, pwd, img, typeid):
    with open(img, 'rb') as f:
        base64_data = base64.b64encode(f.read())
        b64 = base64_data.decode()
    data = {"username": uname, "password": pwd, "typeid": typeid, "image": b64}
    result = json.loads(requests.post("http://api.ttshitu.com/predict", json=data).text)
    if result['success']:
        return result["data"]["result"]
    else:
        #!!!!!!!注意:返回 人工不足等 错误情况 请加逻辑处理防止脚本卡死 继续重新 识别
        return result["message"]
    return ""

img_path = '1.jpg'
imgCode = base64_api('username','password',img_path,typeid=3)
print(imgCode)

# 密码加密
def md5_salt(password):
    password_with_salt = password + 'TuD00Iqz4ge7gzIe2rmjSAFFKtaIBmnr8S'
    md5 = hashlib.md5()
    md5.update(password_with_salt.encode('utf-8'))
    encrypted_password = md5.hexdigest()
    return encrypted_password


json_data = {
    'username': '17688962828',
    'password': md5_salt('zy4479nan'),
    'imgCode': imgCode,
    'imgToken': img_token,
}


response = requests.post('https://www.hfax.com/pc-api/user/login', cookies=cookies, headers=headers, json=json_data)

print(response.text)




标签:img,22%,base64,json,惠金,password,data,MD5
From: https://www.cnblogs.com/xchuan/p/17985098

相关文章

  • 文件传输中的MD5校验技术
     1.文件的MD5校验简介 文件的MD5校验是一种常用的文件完整性验证方法。MD5(MessageDigestAlgorithm5)是一种广泛应用的哈希算法,它能够将任意长度的数据转换为固定长度的哈希值。在文件校验中,MD5算法通过计算文件的哈希值,将文件内容转化为唯一的128位(16字节)哈希值。这个哈......
  • 为文件一键命名为其md5值
    为文件一键命名为其md5值不知道怎么给文件命名?一键命名为其md5不就是了!单文件拖拽版无需启动,直接将文件拖拽到.bat文件上@echooffsetlocalenabledelayedexpansion::获取文件完整路径set"file_path=%~1"::检查文件是否存在ifnotexist"!file_path!"(echoF......
  • Spring 工具:DigestUtils md5 摘要工具
    工具类:org.springframework.util.DigestUtils作用:计算字节数组、输入流的md5摘要所在模块:spring-core方法描述Stringmd5DigestAsHex(byte[]bytes)返回字节数组的md5摘要(计算字符串)Stringmd5DigestAsHex(InputStreaminputStream)返回输入流的md5......
  • MD5加密方式(已封装可直接用)
    两个usingusingSystem.Security.Cryptography;usingSystem.Text;一块代码publicstaticstringGenerateMD5(stringtxt){using(MD5mi=MD5.Create()){byte[]buffer=Encoding.Default.GetBytes(txt);......
  • Python生成文件的MD5
    importhashlibdefcalc_md5(filename):md5_hash=hashlib.md5()withopen(filename,"rb")asf:#Readandupdatehashinchunksof4Kforbyte_blockiniter(lambda:f.read(4096),b""):md5_hash.up......
  • MD5三种方式加密(16位大小、32位大小),Base64两种方式加解密
    MD5加密后的位数有两种:16位与32位。16位实际上是从32位字符串中取中间的第9位到第24位的部分,用Java语言来说,即:Stringmd5_16=md5_32.substring(8,24)Java实现md5加密有三种方式可供选择1.Spring自带DigestUtils(优点,方便,代码简洁,缺点只可进行MD5加密)spring自带jar包......
  • MD5算法
    一、引言MD5(Message-DigestAlgorithm5)是一种广泛应用的密码散列算法,由RonaldL.Rivest于1991年提出。MD5算法主要用于对任意长度的消息进行加密,将消息压缩成固定长度的摘要(通常为128位)。在密码学、网络安全等领域有着广泛的应用。本文将从算法原理、优缺点及替代方案等方......
  • Flutter获取大文件MD5值的方法以及大文件实现分块上传和断点续传
    Flutter获取大文件MD5值的方法最近一直在搞flutter,有一个需求是将一个不到1G的大文件从App端上传到服务器,为了做文件校验所以要获取到文件的MD5。1.第一步首先获取到文件,并计算出文件大小和分快的数目Filefile=File(path);intfileSize=file.lengthSync();inttotalPart=......
  • 如何 使 Java、C# md5 加密的值保持一致
    JavaC#md5加密值保持一致,一般是编码不一致造成的值不同JAVA(加密:123456)C#(加密:123456)UTF-8e10adc3949ba59abbe56e057f20f883eUTF8e10adc3949ba59abbe56e057f20f883eUTF-16LEce0bfd15059b68d67688884d7a3d3e8cUnicodece0bfd15059b68d67688884d7a3d3e8cUS-ASCIIe10adc3949ba59a......
  • python 实现图片内容md5加密
    图片内容可以通过MD5进行加密,但是请注意,MD5并不适合用于加密敏感信息,因为它容易受到碰撞攻击。这里是一个使用Python的hashlib库进行MD5加密的示例:importhashlibimportiodefget_md5(img_path):#打开并读取图片文件withopen(img_path,'rb')asf:im......