如何让Cloudflare Worker从URL参数获取字符串生成MD5哈希?
从URL参数生成MD5哈希的Cloudflare Worker脚本修改方案
要实现从URL参数获取字符串并生成对应MD5哈希,只需调整原脚本中获取输入字符串的逻辑,以下是完整修改后的代码及说明:
addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { // 解析请求URL,提取查询参数 const url = new URL(request.url); const message = url.searchParams.get('string'); // 处理未传入string参数的情况 if (!message) { return new Response('请在URL中添加string参数,示例:?string=hi', { status: 400 }); } // 原MD5哈希生成逻辑 const msgUint8 = new TextEncoder().encode(message); const hashBuffer = await crypto.subtle.digest('MD5', msgUint8); const hashArray = Array.from(new Uint8Array(hashBuffer)); const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join(''); return new Response(hashHex, { status: 200 }); }
关键改动说明
- URL参数解析:通过
new URL(request.url)创建URL对象,调用searchParams.get('string')直接获取URL中string参数的内容 - 参数校验:增加了参数为空的判断,返回400状态码和提示文本,避免无输入时的异常
- 保留哈希逻辑:原有的MD5哈希生成代码完全保留,确保输出结果的准确性
测试时访问https://your-worker-domain.workers.dev/?string=hi,即可得到对应的MD5哈希值6152496c47126ba1079afd2a0b63645d。
内容的提问来源于stack exchange,提问作者tudubucket
相关产品推荐
相关产品推荐

