Browse Source

Demo: Added whirlpool to the crypto demo page

tags/2021-05-28
jules 10 years ago
parent
commit
128fdbb3f0
1 changed files with 26 additions and 38 deletions
  1. +26
    -38
      examples/Demo/Source/Demos/CryptographyDemo.cpp

+ 26
- 38
examples/Demo/Source/Demos/CryptographyDemo.cpp View File

@@ -131,84 +131,72 @@ public:
hashEntryBox.setColour (TextEditor::backgroundColourId, Colours::white.withAlpha (0.5f)); hashEntryBox.setColour (TextEditor::backgroundColourId, Colours::white.withAlpha (0.5f));
hashEntryBox.setReturnKeyStartsNewLine (true); hashEntryBox.setReturnKeyStartsNewLine (true);
hashEntryBox.setText ("Type some text in this box and the resulting MD5 and SHA hashes will update below");
hashEntryBox.setText ("Type some text in this box and the resulting MD5, SHA and Whirlpool hashes will update below");
hashEntryBox.addListener (this); hashEntryBox.addListener (this);
hashLabel1.setText ("Text to Hash:", dontSendNotification); hashLabel1.setText ("Text to Hash:", dontSendNotification);
hashLabel2.setText ("MD5 Result:", dontSendNotification); hashLabel2.setText ("MD5 Result:", dontSendNotification);
hashLabel3.setText ("SHA Result:", dontSendNotification); hashLabel3.setText ("SHA Result:", dontSendNotification);
hashLabel4.setText ("Whirlpool Result:", dontSendNotification);
hashLabel1.attachToComponent (&hashEntryBox, true); hashLabel1.attachToComponent (&hashEntryBox, true);
hashLabel2.attachToComponent (&md5Result, true); hashLabel2.attachToComponent (&md5Result, true);
hashLabel3.attachToComponent (&shaResult, true); hashLabel3.attachToComponent (&shaResult, true);
hashLabel4.attachToComponent (&whirlpoolResult, true);
addAndMakeVisible (md5Result); addAndMakeVisible (md5Result);
addAndMakeVisible (shaResult); addAndMakeVisible (shaResult);
addAndMakeVisible (whirlpoolResult);
updateHashes(); updateHashes();
} }
void updateHashes() void updateHashes()
{ {
updateMD5Result();
updateSHA256Result();
String text = hashEntryBox.getText();
updateMD5Result (text.toUTF8());
updateSHA256Result (text.toUTF8());
updateWhirlpoolResult (text.toUTF8());
} }
void updateMD5Result()
void updateMD5Result (CharPointer_UTF8 text)
{ {
const MD5 md5 (hashEntryBox.getText().toUTF8());
md5Result.setText (md5.toHexString(), dontSendNotification);
md5Result.setText (MD5 (text).toHexString(), dontSendNotification);
} }
void updateSHA256Result()
void updateSHA256Result (CharPointer_UTF8 text)
{ {
const SHA256 sha (hashEntryBox.getText().toUTF8());
shaResult.setText (SHA256 (text).toHexString(), dontSendNotification);
}
shaResult.setText (sha.toHexString(), dontSendNotification);
void updateWhirlpoolResult (CharPointer_UTF8 text)
{
whirlpoolResult.setText (Whirlpool (text).toHexString(), dontSendNotification);
} }
void resized() override void resized() override
{ {
Rectangle<int> area (getLocalBounds()); Rectangle<int> area (getLocalBounds());
hashGroup.setBounds (area); hashGroup.setBounds (area);
area.removeFromLeft (80);
area.removeFromLeft (120);
area.removeFromTop (10); area.removeFromTop (10);
area.reduce (5, 5); area.reduce (5, 5);
shaResult.setBounds (area.removeFromBottom (34).reduced (5));
md5Result.setBounds (area.removeFromBottom (34).reduced (5));
whirlpoolResult.setBounds (area.removeFromBottom (34));
shaResult.setBounds (area.removeFromBottom (34));
md5Result.setBounds (area.removeFromBottom (34));
hashEntryBox.setBounds (area.reduced (5)); hashEntryBox.setBounds (area.reduced (5));
} }
private: private:
GroupComponent hashGroup; GroupComponent hashGroup;
TextEditor hashEntryBox; TextEditor hashEntryBox;
Label md5Result, shaResult;
Label hashLabel1, hashLabel2, hashLabel3;
void textEditorTextChanged (TextEditor& editor) override
{
if (&editor == &hashEntryBox)
updateHashes();
}
void textEditorReturnKeyPressed (TextEditor& editor) override
{
if (&editor == &hashEntryBox)
updateHashes();
}
Label md5Result, shaResult, whirlpoolResult;
Label hashLabel1, hashLabel2, hashLabel3, hashLabel4;
void textEditorEscapeKeyPressed (TextEditor& editor) override
{
if (&editor == &hashEntryBox)
updateHashes();
}
void textEditorFocusLost (TextEditor& editor) override
{
if (&editor == &hashEntryBox)
updateHashes();
}
void textEditorTextChanged (TextEditor&) override { updateHashes(); }
void textEditorReturnKeyPressed (TextEditor&) override { updateHashes(); }
void textEditorEscapeKeyPressed (TextEditor&) override { updateHashes(); }
void textEditorFocusLost (TextEditor&) override { updateHashes(); }
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (HashesComponent) JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (HashesComponent)
}; };


Loading…
Cancel
Save