Este é o tópico dos policiais. A discussão dos ladrões está aqui .
Seu desafio é criar um programa que funcione para sempre sem interromper 1 , a menos que obtenha uma entrada ou entradas específicas 2 . Se receber essa entrada, deverá terminar em um período finito de tempo 3 . Isso é código-golfe , então a resposta mais curta que não foi quebrada por um ladrão dentro de uma semana após a publicação vence. Após a semana, marque sua resposta como segura e mostre a entrada de parada (em a > ! spoiler quote
). Se um ladrão quebrar sua submissão, marque-a como rachada e mostre a entrada interrompida (em a > ! spoiler quote
).
É preferível que os envios sejam executáveis e quebráveis no TIO . Os envios não executáveis ou quebráveis no TIO são permitidos, mas inclua instruções para fazer o download / executá-los.
Faça sua entrada determinística e uniforme em todas as execuções. Veja esta meta post para detalhes.
Por favor, não "implemente o RSA" ou algo que signifique para os ladrões. Use idiomas e recursos obscuros, sem criptografia e hash chatos. Não posso impor isso com regras, mas você pode esperar votos em queda torrenciais se tudo o que você faz é sha(input) === "abcd1234"
.
1 Supondo que o computador não seja desligado, quebre, seja envolvido pelo sol, superaqueça com a morte por calor do universo ou atinja o tempo limite do TIO nos anos 60.
2 O programa deve parar em pelo menos uma entrada. Contanto que ele faça loops para sempre em uma entrada e pare em outra, funcionará.
3 Deve ser <60 segundos, para que o código possa ser testado no TIO.
Procurando envios sem rachaduras?
fetch("https://api.stackexchange.com/2.2/questions/135363/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = document.createElement("td");var a = document.createElement("a");a.innerHTML = lang;a.href = link;td.appendChild(a);tr.appendChild(td);};add(ans.lang, ans.link);add(ans.owner.display_name, ans.owner.link);document.querySelector("tbody").appendChild(tr);});});
<html><body><h1>Uncracked Submissions</h1><table><thead><tr><th>Language</th><th>Author</th></tr></thead><tbody></tbody></table></body></html>
R
erros imediatamente, sem sequer entrar na função de crack. Eu argumentaria que isso não conta como realmente encerrando a função.