summaryrefslogtreecommitdiffstats
path: root/libvncserver/vncauth.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvncserver/vncauth.c')
-rw-r--r--libvncserver/vncauth.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libvncserver/vncauth.c b/libvncserver/vncauth.c
index b8ee288..0b73531 100644
--- a/libvncserver/vncauth.c
+++ b/libvncserver/vncauth.c
@@ -191,3 +191,18 @@ rfbEncryptBytes(unsigned char *bytes, char *passwd)
rfbDes(bytes+i, bytes+i);
}
}
+
+void
+rfbEncryptBytes2(unsigned char *where, const int length, unsigned char *key) {
+ int i, j;
+ rfbDesKey(key, EN0);
+ for (i = 0; i< 8; i++)
+ where[i] ^= key[i];
+ rfbDes(where, where);
+ for (i = 8; i < length; i += 8) {
+ for (j = 0; j < 8; j++)
+ where[i + j] ^= where[i + j - 8];
+ rfbDes(where + i, where + i);
+ }
+}
+