How to prevent sensitive information is displayed when the extension 'exe' is modified to 'txt' on windows?

John Colvin via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jan 7 09:05:35 PST 2015


On Wednesday, 7 January 2015 at 16:45:11 UTC, Tobias Pankrath 
wrote:
> On Wednesday, 7 January 2015 at 16:23:38 UTC, John Colvin wrote:
>> On Wednesday, 7 January 2015 at 16:15:49 UTC, Tobias Pankrath 
>> wrote:
>>>>>
>>>>> http://dpaste.dzfl.pl/3bbdecfefa5c
>>>>
>>>> I'm not sure about some of that. Bad casts w.r.t. 
>>>> immutability etc.
>>>>
>>>> How about:
>>>> http://dpaste.dzfl.pl/706ab2db9ce1
>>>
>>> I would keep the encryption inside a template to prevent 
>>> users from assigning it to a variable without triggering CTFE.
>>
>> Why would that be a problem?
>
> Because the plain text will be in the object file.
>
> http://dpaste.dzfl.pl/95b17fff42c6
>
> Take a look at the object file and you will find “Sailor Moon” 
> in it - which is what we wanted to avoid in the first place. 
> I'd prefer the API that prevents something like that.

Ah yes.

Nonetheless - if you possibly can - don't use casts to/from 
immutable, it's so easy to be in undefined-behaviour-land and not 
even notice. In this case it's a textbook use of pure to avoid it.

Also, I presume you are aware of the parametrised enum/alias 
syntax?

enum encrypt(string s) = foo(s);


More information about the Digitalmars-d-learn mailing list