能输入任意格式的文件,并且输出始终较短,输出长度与输入文件大小无关,原理是先用两个中文汉字作为标识符,再用 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(e), {
status: 500
});
}
})
1
bigtear 9 天前
你这个域名有点东西啊
|
3
zoharSoul 9 天前
什么意思, 没看懂啊...
|
4
iamnottsh OP @zoharSoul 当网盘用就可以了,要给别人发点什么的时候,上传就能生成取件码,把取件码发给别人,别人再输进去解。与普通网盘不一样的是,它们取件码容易被检测出来,而我这个取件码能直接在各个平台上发出来。
|
5
summerwar 9 天前
|
6
myderr 9 天前
额,这不是那中文当 key 吗,最多在使用 ai 写了个诗。
我理解的隐写是,我有一段显示的文本,我有一段待写入的文本,生成一份行的文本,但是保持显示的文本的意思。并且能解出来写入的文本 |
9
GPLer 9 天前 via Android
虽然取件码不容易被检测了,但是这个域名本身就很危险。😂
|
10
iamnottsh OP @GPLer 这倒确实,我在考虑再买个“我是奶龙我才是奶龙.xyz”
|