Even More DiscoMD5 Nonsense



  • Continuing the discussion from More Discoparser Tomfoolery:

    @abarker said:

    Where are the "arbitrary" MD5 strings?

    f3d6df7c9d60b1004b184e30c89d60b8

    Whenever you put back-ticks around text it takes an MD5 hash, for :disco:important‍:disco:technical‍:disco:reasons‍:doing_it_wrong:. You can then stick the MD5 hash anywhere in your post, and it will restore your original text (see raw above).

    5181eb6f30d4b3fa80e1832d5192e46a

    It is affected by whatever other formatting you use around the MD hash:
    5181eb6f30d4b3fa80e1832d5192e46a****strong text

    I don't know if this is useful in any way to anyone; maybe you guys can figure something out.

    TL;DR: 42ed35ea3fa9b130b5b70679bd8ec408



  • @hungrier said:

    f3d6df7c9d60b1004b184e30c89d60b8

    Whenever you put back-ticks around text it takes an MD5 hash, for :disco:important‍:disco:technical‍:disco:reasons‍:doing_it_wrong:. You can then stick the MD5 hash anywhere in your post, and it will restore your original text (see raw above).

    That's awesome.

    @hungrier said:

    It appears to disable any <u>html</u>, [b]bbcode[/b], *markdown**emphasized text*, ✴emoji, etc in the result

    Naturally... the backticks cause that all to be escaped, so the replaced text probably already contains the escaping. Although, the MD5 hash must be calculated prior to escaping it.

    Does it work with double backticks, I wonder?

    test

    098f6bcd4621d373cade4e832627b4f6

    Yep!

    How about triple backticks?

    test
    ing
    

    04f647d5b863a2307b380888c1202f9f

    yes! (if you include an \n character in the MD5)



  • test

    098f6bcd4621d373cade4e832627b4f6
    098f6bcd4621d373cade4e832627b4f6



  • @rc4 said:

    c45a76afa15e17771dd300b522a8e5aa

    Okay, I tried a bunch of different MD5 hashes (variations on <br> and different whitespace/lack thereof where the newlines are) and none of them worked. I give up. It has newline characters in it, and I don't think you're supposed to use single backticks for multiline quotes.

    Here, if you take out the newlines, it'll work:

    eab1c23d671fc9cbd98675439209b497

    Or you can wrap it in triple backticks, and that works if you include the newline characters in both the text and when you MD5 it:

    c45a76afa15e17771dd300b522a8e5aa

    edit: fuck, that triple-backquoted text had your original MD5 hash and my post got whoa. Escaped yours to fix that.



  • I was wondering about what kind of silliness was throwing it off...thanks! :)



  • 26e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd1126e5391e354aefb5a1bbdb8ff440fd11rl like you,' (she might well say this), 'to go on crying in this way! Stop this moment, I tell you!' But she went on all the same, shedding gallons of tears, until there was a large pool all round her, about four inches deep and reaching half down the hall.

  • FoxDev

    answer: too long. didn't read.



  • Oh look, stuff from that one book.



  • Have you considered posting this on meta.d? They might appreciate aaaallll the text 😈



  • Damn it, I tried to quote this whole thing but after a while it failed on:



  • Try it again. I think I've about reached the limit.



  • I wonder...

    5181eb6f30d4b3fa80e1832d5192e46a

    boo.


  • Discourse touched me in a no-no place


  • FoxDev

    TL;DR<a


  • I survived the hour long Uno hand

    1d41e6f55521cdba4fc73febd09d2eb4 This is just an ordinary list.
    3e35563210f995ee79a073fa882e1fd6 Nothing to see here.
    a85803f14639bef7f4539bad631d088c No backslashes required
    4363b12ae39947f045a4fb5fad740dc8 We were just 6f641d63321c2a1607b4a62e674000ff the whole time!



  • @Deadfast said:

    Damn it, I tried to quote this whole thing but after a while it failed on:

    Good for you, I can't even select text in here.

    So given the body length limit of 32000, what's the optimal amount of characters to put in the text? I think you'd need to maximize x + (((32000 - x)/16)*x) and it gives you 16008 characters in the text and the rest filled with MD5, for a total of 31,781,757 characters, give or take the backticks.


  • Java Dev

    How about maximizing the actual HTML going over the wire?


  • Banned

    This post is deleted!

  • Notification Spam Recipient

    @anotherusername said:

    .

    What did I just read?
    Also, attempting to select any text in that post results in... bad things on Chrome....



  • Selecting anything on this page causes bad things in Chrome...



  • @Maciejasjmj said:

    So given the body length limit of 32000, what's the optimal amount of characters to put in the text? I think you'd need to maximize x + (((32000 - x)/16)*x) and it gives you 16008 characters in the text and the rest filled with MD5, for a total of 31,781,757 characters, give or take the backticks.

    That was originally what I tried to do.

    I used <!--​`...`--> as the basis for the MD5, so it had 9 characters of overhead. I calculated that the maximum was 15,991 characters of text repeated 500 times. Hex MD5 hashes are 32 characters, not 16; no space is needed between the MD5 hashes, so it is 32 characters for each repetition.

    Total characters in post: 15,991 + 9 + 500*32 = 32,000

    Total size after expanding: 500*15,991 = 7,995,500
    (The HTML comment isn't in the baked post at all)

    However, I ran into 500 and 502 errors trying to post it, until I eventually reduced it down more and more and the final baked size that would actually post was around 2.7 MB (triple click it to select the whole paragraph and paste it into Notepad++ to get the exact character count).

    edit: 2,734,548 characters.



  • The MD5 sum of Belgium is 6c1674d14bf5f95742f572cddb0641a7.

    😆 broken ass shit

    Look I can link to the MD5 sum of hungrier: @6eb7b159eebc9a4ff955f79ab579aa92

    Thanks to this we can finally link to @6c1674d14bf5f95742f572cddb0641a7!

    Edit: The user link to @6c1674d14bf5f95742f572cddb0641a7 shows up in preview but does not persist when posted 😢



  • @Tsaukpaetra said:

    Also, attempting to select any text in that post :doing_it_wrong: DISCOURSE :doing_it_wrong: results in... bad things on Chrome....

    <attwood is a cunt



  • The MD5'd version of my username doesn't show up as a link in your message, but I did get a notification from it:



  • I wonder if I can mention @5bcc8b3b0b4e6ea55b2198c43e172dae?



  • How about if I manually put the <a class="mention"> around it? Then it should style as a mention... but will it actually generate the mention notification?

    @5da8867d34e2ad1cc2d57906bf0f43a6

  • Grade A Premium Asshole

    Nope, I still got the notification.

    Also, :wtf: did you choose me for your test? 😛



  • View the raw...


  • Grade A Premium Asshole

    Ohhhhhhh, more DiscoFuckery with MD5.

    Carry on then.



  • And this is why InifinininiScroll is a terrible idea.


  • Notification Spam Recipient

    @anotherusername said:

    I wonder if I can mention

    Huh. I bet it doesn't actually work, right?

    @5BCC8B3B0B4E6EA55B2198C43E172DAE
    Edit: I must be doing it wrong. Maybe it's the upper-case?
    @5bcc8b3b0b4e6ea55b2198c43e172dae

    Filed under: Looks like it won't work in the preview, but...


  • FoxDev

    @mott555 said:

    And this is why InifinininiScroll is a terrible idea.

    It'd be the same without infiniscroll too; the issue is End doesn't actually go to the end of the page, even though it should.



  • But how does this work? Why does it mention someone if you do an at-hash mention?



  • @RaceProUK said:

    @mott555 said:
    And this is why InifinininiScroll is a terrible idea.

    It'd be the same without infiniscroll too; the issue is End doesn't actually go to the end of the page, even though it should.

    The problem is I tried to grab the scrollbar thumb with my mouse and drag past that post but it almost killed me because Discourse makes the scrollbar retarded.


  • FoxDev

    This post is deleted!


  • Clicking on the (fixed) mention at least brings up his user card. If only we could mention him to get his attention to ask him if it worked...



  • @AlexMedia said:

    But how does this work? Why does it mention someone if you do an at-hash mention?

    :disco:

    It's replacing the hash with the plain text, for whatever reason.

    @NedFodder said:

    Clicking on the (fixed) mention at least brings up his user card. If only we could mention him to get his attention to ask him if it worked...

    I figure if it works, the shock of receiving his very first ever mentions will bring him over here to check it out.


  • Notification Spam Recipient

    @anotherusername said:

    I figure if it works, the shock of receiving his very first ever mentions will bring him over here to check it out.

    👯 Wouldn't that be awesome? The @??_ guys would be mentionable then!

    Edit: Does it really work though?

    @eb19ba8342065325578be2fa11fa7175 @Tsaukpaetra

    Edit edit: How would I know if I mentioned myself? :facepalm:



  • Well, Polygeekery and hungrier have both said they got notifications from it...

    I don't think you get notifications if you @mention yourself.



  • Oy, lets mention you then!

    @eb19ba8342065325578be2fa11fa7175

  • Notification Spam Recipient

    Nice!



  • @820e02fee102392d3291a49d318d592f - my theory is, it has to do with the way that Discourse handles the text inside 833344d5e1432da82ef02e1301477ce8, 833344d5e1432da82ef02e1301477ce8833344d5e1432da82ef02e1301477ce8, and 833344d5e1432da82ef02e1301477ce8833344d5e1432da82ef02e1301477ce8833344d5e1432da82ef02e1301477ce8 markdown. Sort of like this:

    It's calculating the MD5 hash of the contents.

    It's storing the contents elsewhere.

    It's replacing the contents with its MD5 hash.

    Then, it's probably doing a whole bunch of other stuff to the post, like finishing the parsing for emoji and markdown. This gets the emoji/markdown parsers to ignore whatever the contents was. The MD5 hash is just letters and numbers and it doesn't mean anything special to the emoji/markdown parsers.

    Then it's going back and replacing the MD5 hash (globally... probably with a regexp) with the original contents, but with special characters converted to their HTML entities where appropriate so that it's all interpreted as plain text when it gets to the browser.

    Then it's done.

    :disco:-tastic!


  • Java Dev

    I wonder, does it do the final replace in parallel or sequentially? Could you do nested MD5 replaces?


  • Discourse touched me in a no-no place

    @PleegWat said:

    parallel

    Does Ruby do anything in parallel? 🛂



  • 3389dae361af79b04c9c8e7057f60cc6 you mean this ... could work? 3389dae361af79b04c9c8e7057f60cc6


  • 518ed29525738cebdac49c49e60ea9d3aliceif


  • @283cfab0224afcc55ddeb7094ebd1004


  • 518ed29525738cebdac49c49e60ea9d3283cfab0224afcc55ddeb7094ebd1004


  • bf95b5944eea761f6196470803f311ac



  • Holy fuck, that worked.


Log in to reply