/usr/include/wvstreams/wvxor.h is in libwvstreams-dev 4.6.1-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | /* -*- Mode: C++ -*-
* Worldvisions Tunnel Vision Software:
* Copyright (C) 1997-2002 Net Integration Technologies, Inc.
*
* XOR cryptography abstractions.
* Could use this to implement short one time pads.
*/
#ifndef __WVXOR_H
#define __WVXOR_H
#include "wvencoder.h"
#include "wvencoderstream.h"
/**
* An encoder implementing simple XOR encryption.
* Mainly useful for testing.
*/
class WvXOREncoder : public WvEncoder
{
public:
/**
* Creates a new XOR encoder / decoder.
* _key : the key
* _keylen : the length of the key in bytes
*/
WvXOREncoder(const void *_key, size_t _keylen);
virtual ~WvXOREncoder();
protected:
bool _encode(WvBuf &in, WvBuf &out, bool flush);
private:
unsigned char *key;
size_t keylen;
int keyoff;
};
/**
* A crypto stream implementing XOR encryption.
* See WvXOREncoder for details.
*/
class WvXORStream : public WvEncoderStream
{
public:
WvXORStream(WvStream *_cloned, const void *key, size_t _keysize);
virtual ~WvXORStream() { }
public:
const char *wstype() const { return "WvXORStream"; }
};
#endif /// __WVXOR_H
|