This is a challenge the Robbers' Thread can be found here

Your challenge is to write a program that outputs an anagram of its source code but not the original source code itself.

For example the following Python program,

print'print*2'*2

prints

'print*2print*2'

which has all of the same characters as its original source but in a different order.

Once you have found such a program, include the output of the program as an answer omitting the program that generates it. As you might have guessed, robbers will seek to discover the program you have hidden, or any program that fits the specifications. Your goal is to make the shortest program that the robbers cannot crack.

## Rules

• As with most challenges, if your answer remains uncracked for a week you may add the intended solution to your answer and mark it as Safe. Once safe an answer cannot be cracked by robbers.

• You do not need to include the language of the intended solution, however if you do not include the language robbers can crack it in any language predating the challenge, while if you specify the language they may only crack it in the one provided.

• Standard rules for Quines apply.

• My usual question: in a language where bytes don't correspond to characters, is the anagram at the byte or character level? – user62131 Feb 24 '17 at 17:56
• @ais523 it should be an anagram of the bytes. – Wheat Wizard Feb 24 '17 at 17:58
• Closely related – James Feb 24 '17 at 17:58
• Do usual quine rules apply to robbers? Do they apply to cops? – Dennis Feb 24 '17 at 18:46
• @Fatalize If it does not change the output it is fine but the output must be static. – Wheat Wizard Feb 24 '17 at 19:03

# Brain-Flak, 231 bytes Cracked by Wheat Wizard

}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{][][][][][][][)()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(

The original program uses the -A argument.

Here are the counts:

( -> 74
) -> 74
{ -> 34
} -> 34
[ -> 7
] -> 7

# Python 2, 96 bytes, cracked by math_junkie

Output:

B97.off]xo) wnd[ri0'of{r1({r6-{r{rri) {r1(xo0'sjD;0'0'qhF=1({r{r2)4+}twnri2)wnlcof) yp) ) xomd2)

First time code golfing! Hope it's not too easy.

• I have a miserable print(''), chr() + '' so far – drolex Feb 28 '17 at 14:57
• Cracked! – math junkie Mar 4 '17 at 20:58

# Haskell, 107 bytes, Cracked by nimi

"'''''''',,----....::<<<<<<<<========>>>>[[[[[[[[]]]]]]]]aaddddddddddddiiiiiiiiiiiimmnnnnpprrtt||||||"

There is an additional trailing newline.

Original solution:

main=print$id=<<[[id|i<-"main=print$id=<<[[id|i<-,i==d]>>d:[d]|d<-['$'..'|']]",i==d]>>d:[d]|d<-['$'..'|']]

My main idea was to write a quine which sorts its own source code before outputting it without using a library sort function. Only after an initial cracking try by nimi it occurred to me that the program code could be manually sorted, hard coded into the program and then printed out while doubling each letter. However the limited available characters make this approach more cumbersome and nimi's successful crack is quite similar to my original program.

Explanation:

main=print$-- full program which prints the following string id=<<[[id|i<-"...",i==d]>>d:[d]|d<-['$'..'|']]
|d<-['$'..'|'] -- for each char d in "$%&'()*+,-./012 ... xyz{|"
[id|i<-"...",i==d]                       -- build a list with as many elements as d is contained in the string
>>d:[d]                -- replicate the string "dd" as often as the previous list is long
id=<<[                                       ] -- concatenate the resulting list of srings to one single string
• @nimi Yes it's a full program. Isn't this a standard rule for quines? – Laikoni Feb 24 '17 at 22:43
• Not sure. We had quines before that allowed functions. And even if full programs are standard, the "program" in the challenge could be interpreted as overwriting the defaults and also allow functions. – nimi Feb 24 '17 at 22:49
• @nimi I'm sorry the previous version was misleading. I had written it after having seen your first attempt and before noticing it wasn't valid according to the specs. I even published it and then quickly rolled back in the hope that nobody saw it, as you can see in the revision history. After seeing your fixed version, I rolled back to this version, without considering that description wasn't fitting any more. – Laikoni Feb 25 '17 at 17:45

# Guess, 43 bytes

{4"2)4q):)u(4o'{4t:q(e)(",(t22(u()o)?,?'2e

It was a tough call whether or not to share what language it was, but I think this option is better. Note that there's a trailing newline.

• An answer is only safe if you add the intended solution to the answer. Until then, this answer is not safe. – mbomb007 May 1 '17 at 18:41