delphi url地址加密 求实例~~~~~~~~多谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi url地址加密 求实例~~~~~~~~多谢相关的知识,希望对你有一定的参考价值。

软件里有URL地址 如何加密 我有字符串加密的事例
不晓得怎么用 ·

参考技术A URL加密一般采用BASE64来进行加密,可以上网找找相关实例。
BASE64是许多软件采用的URL加密方法(例子:迅雷) 主要是加密方便,具有唯一性,而且可逆。效率也很高。本回答被提问者采纳

JS加密分析

分析流程


有道翻译:http://fanyi.youdao.com/

确定网页加载方式

- 翻译内容为动态加载【我们在输入内容翻译时url不变】

- F12打开开发者工具,点击XHR

技术图片

找到真实的url地址

- 根据响应内容确定真实的url地址
- 查看请求参数是否有加密字符串

技术图片

请求接口和请求参数中携带的sign

技术图片
# General
Request URL: http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
Request Method: POST
Status Code: 200 OK
Remote Address: 103.72.47.249:80
Referrer Policy: no-referrer-when-downgrade


# Form Data
i: hello
from: AUTO
to: AUTO
smartresult: dict
client: fanyideskweb
salt: 15638736993851     # 动态参数
sign: e9e209901e904afd37a85aba71245937   # 加密字符串,签名  动态参数
ts: 1563873699385    # 动态参数
bv: 53539dde41bde18f4a71bb075fcf2e66   # 动态参数
doctype: json
version: 2.1
keyfrom: fanyi.web
action: FY_BY_REALTlME

# 别问我,我怎么知道哪些参数是动态参数,每次请求这些参数都是会变得。。。。 # 一般这种在请求参数中带有签名的网站,我们需要找到它加密签名的加密方式,根据加密规则用python代码模拟生成sign,每次请求带上它即可; # 如果参数中没有动态生成的签名,那么我们在请求浏览器时是拿不到响应数据的;
技术图片

寻找sign的加密方式

 复制sign全网页搜索这个变量

技术图片


技术图片

格式化后的HTML代码

技术图片

找到sign

技术图片

 分析加密得请求参数是怎么生成得

 技术图片

- sign也是通过md5进行加密得
- 加密得值为("fanyideskweb" + e + i + "n%A-rKaT5fb[Gy?;N5@Tj")
- e是我们翻译得内容,i是当前时间戳+0-9的一个随机数
- 我们只需把e和i添加进去生成md5即可,他的前后两边的值是写死的,

浏览器版本号

技术图片

技术图片
# -*- coding: utf-8 -*-
# @Time    : 2019/7/23 19:14
import requests
import hashlib
import random
import time


url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"
search = input("请输入您要翻译的内容>>>:")

# 浏览器的版本加密
bv = hashlib.md5("5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36".encode("utf-8")).hexdigest()  # 53539dde41bde18f4a71bb075fcf2e66
print("bv",bv)

# 当前时间戳
ts = str(int(time.time()*1000))   # 1563881548992  1563881645504
print("ts",ts)

# 当前时间+0-9随机时间  注意是字符串相加
salt = ts + str(random.randint(0,9))   # 15638815489920
print("salt",salt)

# fanyideskweb + 要翻译的内容 + salt + n%A-rKaT5fb[Gy?;N5@Tj
sign = hashlib.md5(("fanyideskweb" + search + salt + "n%A-rKaT5fb[Gy?;N5@Tj").encode("utf-8")).hexdigest()    # 7a3f1f22b5f1a7f29a0a6f16ec668c57
print("sign",sign)

headers = 
    Accept:application/json, text/javascript, */*; q=0.01,
    Accept-Encoding:gzip, deflate,
    Accept-Language:zh-CN,zh;q=0.9,
    Connection:keep-alive,
    Content-Length:260,
    Content-Type:application/x-www-form-urlencoded; charset=UTF-8,
    Cookie:OUTFOX_SEARCH_USER_ID=-457558277@10.108.160.18; JSESSIONID=aaaOxgG-XSZxs54rYhEWw; OUTFOX_SEARCH_USER_ID_NCOO=1830264100.2982109; ___rl__test__cookies=1563881941982,
    Host:fanyi.youdao.com,
    Origin:http://fanyi.youdao.com,
    Referer:http://fanyi.youdao.com/,
    User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36,
    X-Requested-With:XMLHttpRequest,


data = 
    i: search,
    from:AUTO,
    to:AUTO,
    smartresult:dict,
    client:fanyideskweb,
    salt: salt,
    sign: sign,
    ts: ts,
    bv: bv,
    doctype:json,
    version:2.1,
    keyfrom:fanyi.web,
    action:FY_BY_CLICKBUTTION,


response = requests.post(url=url,headers=headers,data=data).text
print(response)

python代码
python代码

 

以上是关于delphi url地址加密 求实例~~~~~~~~多谢的主要内容,如果未能解决你的问题,请参考以下文章

百度语音识别TTS REST API 用C# 怎么处理下行数据 求实例

DELPHI 中INI文件加密还原的问题

python 爬虫response.status_code 在有值之前都在输出,即在有回应之前一直在输出,求实例代码

我mysql数据查询的数据过多,查询很慢,大家说用索引,可是没有接触有索引。求实例

今天爬,明天没,天津市XX网 详情页加密逻辑拆解,文中关键字已经加密

网页url地址参数的加密一般用啥算法