
能输入任意格式的文件,并且输出始终较短,输出长度与输入文件大小无关,原理是先用两个中文汉字作为标识符,再用 ai 造句
Demo:清冷仙子哦.xyz
例如:
山间清 泉潺潺流过,恰逢 戊日,村民依俗取水祈福。 能解出:
你好,世界! 为了能活得久一点,选择闭源
这里贴出核心代码(注意前端要把括号替换为换行符):
import type { ChatCompletion } from "openai/resources.js"; import { httpAction } from "./_generated/server"; import OpenAI from 'openai'; export default httpAction(async (_, req) => { try { const word = new URL(req.url).searchParams.get('word'); if (!word) return new Response("Missing 'word' parameter", { status: 400 }); const [w0, w1] = word if (!w0 || !w1) return new Response("Length must be 2", { status: 400 }); const openai = new OpenAI({ baseURL: "https://apis.iflow.cn/v1", apiKey: "你的 apiKey" // todo 填写 apiKey }); for (;;) { const completion: ChatCompletion = await openai.chat.completions.create({ model: "qwen3-max", messages: [ { "role": "system", "content": `你是句子生成器,按用户的要求输出一个句子,必须避免敏感。现在是${new Date()}。` }, { "role": "user", "content": `用“${w0}”“${w1}”造句,“${w0}”在前“${w1}”在后,但不能放在句首。如果可以,减少以“他”开头,实在不行也没办法。` } ], }); const cOntent= completion.choices[0]?.message.content if (!content || !content.includes(w0) || !content.includes(w1) || content.startsWith(w0) || content.indexOf(w0) > content.indexOf(w1)) continue; const newHeaders = new Headers(); newHeaders.set('Access-Control-Allow-Origin', 'https://saozi5-75am.ipfs.4everland.app'); return new Response(content.replace(w0, `「${w0}」`).replace(w1, `「${w1}」`), { headers: newHeaders }); } } catch (e) { return new Response(String(), { status: 500 }); } }) 1 bigtear 3 月 3 日 你这个域名有点东西啊 |
3 zoharSoul 3 月 3 日 什么意思, 没看懂啊... |
4 iamnottsh OP @zoharSoul 当网盘用就可以了,要给别人发点什么的时候,上传就能生成取件码,把取件码发给别人,别人再输进去解。与普通网盘不一样的是,它们取件码容易被检测出来,而我这个取件码能直接在各个平台上发出来。 |
5 summerwar 3 月 3 日 |
6 myderr 3 月 3 日 额,这不是那中文当 key 吗,最多在使用 ai 写了个诗。 我理解的隐写是,我有一段显示的文本,我有一段待写入的文本,生成一份行的文本,但是保持显示的文本的意思。并且能解出来写入的文本 |
9 GPLer 3 月 3 日 via Android 虽然取件码不容易被检测了,但是这个域名本身就很危险。 |
10 iamnottsh OP @GPLer 这倒确实,我在考虑再买个“我是奶龙我才是奶龙.xyz” |