mirror of
https://github.com/QuasarApp/qca.git
synced 2025-04-28 20:44:31 +00:00
Add another example - this time for Base64
svn path=/trunk/kdesupport/qca/; revision=375416
This commit is contained in:
parent
a4c94b07b8
commit
c2904b8a1f
2
Doxyfile
2
Doxyfile
@ -433,7 +433,7 @@ EXCLUDE_PATTERNS = *.moc.* \
|
||||
# the \include command).
|
||||
|
||||
EXAMPLE_PATH = examples/hashtest examples/mactest \
|
||||
examples/providertest
|
||||
examples/providertest examples/base64test
|
||||
|
||||
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
||||
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||
|
1
TODO
1
TODO
@ -29,7 +29,6 @@
|
||||
|
||||
* examples
|
||||
create example for Hex
|
||||
create example for Base64
|
||||
create example for Random
|
||||
create example for BigInteger
|
||||
update cipher example (after API sorted out)
|
||||
|
62
examples/base64test/base64test.cpp
Normal file
62
examples/base64test/base64test.cpp
Normal file
@ -0,0 +1,62 @@
|
||||
/*
|
||||
Copyright (C) 2004 Brad Hards <bradh@frogmouth.net>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// QtCrypto/QtCrypto has the declarations for all of QCA
|
||||
#include <QtCrypto>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
// the Initializer object sets things up, and
|
||||
// also does cleanup when it goes out of scope
|
||||
QCA::Initializer init;
|
||||
|
||||
// we use the first argument as the data to authenticate
|
||||
// if an argument is provided. Use "hello" if no argument
|
||||
QCString cs = (argc >= 2) ? argv[1] : "hello";
|
||||
|
||||
// create our object, which does encoding by default
|
||||
// QCA::Base64 encoder(QCA::Encode); is equivalent
|
||||
QCA::Base64 encoder;
|
||||
|
||||
// We can just pass in the QCString, and have it promote
|
||||
// automatically, but I prefer explicit.
|
||||
QSecureArray raw = cs;
|
||||
// You might prefer to use encoder.encode(); and have
|
||||
// it return a QSecureArray, depending on your needs
|
||||
QString encoded = encoder.arrayToString(raw);
|
||||
|
||||
std::cout << cs << " in base64 encoding is " << encoded << std::endl;
|
||||
|
||||
// This time, we'll create an object to decode base64. We
|
||||
// could have reused the existing object, calling
|
||||
// clear(); and setup(QCA::Decode); on it.
|
||||
QCA::Base64 decoder(QCA::Decode);
|
||||
|
||||
// This time, we convert a QString into a QString
|
||||
QString decoded = decoder.decodeString(encoded);
|
||||
|
||||
std::cout << encoded << " decoded from base64 is " << decoded << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
6
examples/base64test/base64test.pro
Normal file
6
examples/base64test/base64test.pro
Normal file
@ -0,0 +1,6 @@
|
||||
TEMPLATE = app
|
||||
CONFIG += thread console
|
||||
TARGET = base64test
|
||||
|
||||
SOURCES += base64test.cpp
|
||||
include(../examples.pri)
|
@ -3,7 +3,8 @@ TEMPLATE = subdirs
|
||||
SUBDIRS += \
|
||||
hashtest \
|
||||
mactest \
|
||||
providertest
|
||||
providertest \
|
||||
base64test
|
||||
|
||||
# ciphertest \
|
||||
# rsatest \
|
||||
|
@ -17,3 +17,10 @@ use of iterators and some member functions.
|
||||
|
||||
*/
|
||||
|
||||
/** \example base64test.cpp
|
||||
|
||||
The code below shows some simple operations on a Base64 object, converting
|
||||
between QSecureArray and QString.
|
||||
|
||||
*/
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user