-
Notifications
You must be signed in to change notification settings - Fork 2
/
pjb-cvspass.el
72 lines (65 loc) · 2.9 KB
/
pjb-cvspass.el
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
;;;; -*- mode:emacs-lisp;coding:utf-8 -*-
;;;;******************************************************************************
;;;;FILE: pjb-cvspass.el
;;;;LANGUAGE: emacs lisp
;;;;SYSTEM: emacs
;;;;USER-INTERFACE: emacs
;;;;DESCRIPTION
;;;;
;;;; This module exports a function to unscramble CVS passwords stored
;;;; in "~/.cvspass".
;;;;
;;;;AUTHORS
;;;; <PJB> Pascal J. Bourguignon
;;;;MODIFICATIONS
;;;; 2001-??-?? <PJB> Created.
;;;;BUGS
;;;;LEGAL
;;;; LGPL
;;;;
;;;; Copyright Pascal J. Bourguignon 1990 - 2011
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
;;;; License as published by the Free Software Foundation; either
;;;; version 2 of the License, or (at your option) any later version.
;;;;
;;;; This library is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;;;; Lesser General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU Lesser General Public
;;;; License along with this library; if not, write to the Free Software
;;;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
;;;;
;;;;******************************************************************************
(provide 'pjb-cvspass)
(defconst cvs-scrambled-chars '[
0 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
114 120 53 79 96 109 72 108 70 64 76 67 116 74 68 87
111 52 75 119 49 34 82 81 95 65 112 86 118 110 122 105
41 57 83 43 46 102 40 89 38 103 45 50 42 123 91 35
125 55 54 66 124 126 59 47 92 71 115 78 88 107 106 56
36 121 117 104 101 100 69 73 99 63 94 93 39 37 61 48
58 113 32 90 44 98 60 51 33 97 62 77 84 80 85 223
225 216 187 166 229 189 222 188 141 249 148 200 184 136 248 190
199 170 181 204 138 232 218 183 255 234 220 247 213 203 226 193
174 172 228 252 217 201 131 230 197 211 145 238 161 179 160 212
207 221 254 173 202 146 224 151 140 196 205 130 135 133 143 246
192 159 244 239 185 168 215 144 139 165 180 157 147 186 214 176
227 231 219 169 175 156 206 198 129 164 150 210 154 177 134 127
182 128 158 208 162 132 167 209 149 241 153 251 237 236 171 195
243 233 253 240 194 250 191 155 142 137 245 235 163 242 178 152 ]
);;cvs-scrambled-chars
(defun cvs-unscramble (password)
"This interactive function unscramble cvs passwords."
(interactive "sPassword: ")
(message
(concat
(mapcar (lambda (c)
(aref cvs-scrambled-chars (string-to-char c)))
(split-string password ""))))
);;cvs-unscramble
;;;; pjb-cvspass.el -- 2003-12-04 02:11:38 -- pascal ;;;;