CRYPT.3
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:11k
源码类别:

操作系统开发

开发平台:

C/C++

  1. %!PS-Adobe-1.0
  2. %%Creator: devps (Pipeline Associates, Inc.)
  3. %%CreationDate: Fri Sep 13 13:06:35 1996
  4. %%Pages: (atend)
  5. %%DocumentFonts: (atend)
  6. /devps 180 dict def devps begin
  7. /res 10.000000 def
  8. /y_offset 843 def
  9. /X{exch}bind def
  10. /mm {transform round X round X itransform} bind def
  11. /r{rmoveto}bind def
  12. /m{moveto}bind def
  13. /l{lineto}bind def
  14. /rl{rlineto}bind def
  15. /st{stroke}bind def
  16. /gs{gsave}bind def
  17. /gr{grestore}bind def
  18. /cp{currentpoint}bind def
  19. /np{newpath}bind def
  20. /ct{curveto}bind def
  21. systemdict /setpacking known
  22.  { /savepacking currentpacking def true setpacking } if
  23. /m0{0 0 moveto}bind def
  24. /xc{//res div}bind def
  25. /yc{//res neg div //y_offset add}bind def
  26. /lc{yc X xc X l st}bind def
  27. /mc{yc X xc X m}bind def
  28. /el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def
  29. /ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def
  30. /sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def
  31. /V{//res neg div //y_offset add
  32. currentpoint pop X
  33. m}bind def
  34. /H{//res div
  35. 0 transform X round X itransform pop
  36. currentpoint X pop
  37. moveto}bind def
  38. /h{//res div 0 r}bind def
  39. /v{//res neg div 0 X r}bind def
  40. /S{X H show}bind def
  41. /A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def
  42. /psize 10 def
  43. /height 0 def
  44. /cheight { height 0 ne { height } { psize } ifelse } bind def
  45. /slant 0 def
  46. /FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def
  47.     [psize 0 cheight slant sin slant cos div mul cheight 0 0]
  48.     makefont setfont}bind def
  49. /shade{gs
  50.  /dy X def
  51.  /dx X def
  52.  np m
  53.  0 /dy rl
  54.  /dx 0 rl
  55.  0 /dy neg rl
  56.  /dx neg 0 rl
  57.  closepath
  58.  .9 setgray
  59.  fill
  60. gr}bind def
  61. 1 setlinecap
  62. /resolution res 72 mul def
  63. /startFig {
  64. /SavedState save def
  65. userdict maxlength dict begin
  66. currentpoint transform
  67. DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap
  68. setlinewidth setmatrix
  69. itransform moveto
  70. /ury exch def
  71. /urx exch def
  72. /lly exch def
  73. /llx exch def
  74. /y exch 72 mul resolution div def
  75. /x exch 72 mul resolution div def
  76. currentpoint /cy exch def /cx exch def
  77. /sx x urx llx sub div def
  78. /sy y ury lly sub div def
  79. sx sy scale
  80. cx sx div llx sub
  81. cy sy div ury sub translate
  82. /DefFigCTM matrix currentmatrix def
  83. /initmatrix {
  84. DefFigCTM setmatrix
  85. } def
  86. /defaultmatrix {
  87. DefFigCTM exch copy
  88. } def
  89. /initgraphics {
  90. DocumentInitState setmiterlimit setgray setdash 
  91. setlinejoin setlinecap setlinewidth setmatrix
  92. DefFigCTM setmatrix
  93. } def
  94. /showpage {
  95. initgraphics
  96. } def
  97. }bind  def
  98. /clipFig {
  99. currentpoint 6 2 roll
  100. newpath 4 copy
  101. 4 2 roll moveto
  102. 6 -1 roll exch lineto
  103. exch lineto
  104. exch lineto
  105. closepath clip
  106. newpath
  107. moveto
  108. }bind  def
  109. /doclip { llx lly urx ury clipFig } def
  110. /endFig {
  111. end SavedState restore
  112. }bind  def
  113. /globalstart {
  114. fontnum psize slant height resolution currentpoint 
  115. pagesave restore gsave 
  116. }bind  def
  117. /globalend {
  118. grestore moveto
  119. /resolution exch def /height exch def
  120. /slant exch def /psize exch def /fontnum exch def
  121. F
  122. /pagesave save def
  123. }bind  def
  124. /fontnum 1 def 
  125. systemdict /setpacking known { savepacking setpacking} if
  126. end
  127. /BP{
  128. save mark devps begin m0
  129. /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap
  130. currentlinejoin currentdash currentgray currentmiterlimit ] cvx def
  131. }bind def
  132. /EP{
  133. end cleartomark restore showpage}def
  134. /Encoding-1 256 array def
  135. 0 1 255 {Encoding-1 exch /.notdef put} for
  136. Encoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-B
  137. Encoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-b
  138. Encoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accents
  139. Encoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessi
  140. Encoding-1
  141. dup 8#41 /copyright put
  142. dup 8#42 /registered put
  143. dup 8#43 /trademark put
  144. dup 8#44 /logicalnot put
  145. dup 8#45 /Eth put
  146. dup 8#46 /eth put
  147. dup 8#47 /Thorn put
  148. dup 8#50 /thorn put
  149. dup 8#51 /brokenbar put
  150. dup 8#52 /degree put
  151. dup 8#53 /divide put
  152. dup 8#54 /multiply put
  153. dup 8#55 /minus put
  154. dup 8#56 /onehalf put
  155. dup 8#57 /onequarter put
  156. dup 8#60 /threequarters put
  157. dup 8#101 /Aacute put
  158. dup 8#102 /Acircumflex put
  159. dup 8#103 /Adieresis put
  160. dup 8#104 /Agrave put
  161. dup 8#105 /Aring put
  162. dup 8#106 /Atilde put
  163. dup 8#107 /Ccedilla put
  164. dup 8#110 /Eacute put
  165. dup 8#111 /Ecircumflex put
  166. dup 8#112 /Edieresis put
  167. dup 8#113 /Egrave put
  168. dup 8#114 /Iacute put
  169. dup 8#115 /Icircumflex put
  170. dup 8#116 /Idieresis put
  171. dup 8#117 /Igrave put
  172. dup 8#120 /Ntilde put
  173. dup 8#121 /Oacute put
  174. dup 8#122 /Ocircumflex put
  175. dup 8#123 /Odieresis put
  176. dup 8#124 /Ograve put
  177. dup 8#125 /Otilde put
  178. dup 8#126 /Scaron put
  179. dup 8#127 /Uacute put
  180. dup 8#130 /Ucircumflex put
  181. dup 8#131 /Udieresis put
  182. dup 8#132 /Ugrave put
  183. dup 8#133 /Ydieresis put
  184. dup 8#134 /Zcaron put
  185. dup 8#135 /aacute put
  186. dup 8#136 /acircumflex put
  187. dup 8#137 /adieresis put
  188. dup 8#140 /agrave put
  189. dup 8#141 /aring put
  190. dup 8#142 /atilde put
  191. dup 8#143 /ccedilla put
  192. dup 8#144 /eacute put
  193. dup 8#145 /ecircumflex put
  194. dup 8#146 /edieresis put
  195. dup 8#147 /egrave put
  196. dup 8#150 /iacute put
  197. dup 8#151 /icircumflex put
  198. dup 8#152 /idieresis put
  199. dup 8#153 /igrave put
  200. dup 8#154 /ntilde put
  201. dup 8#155 /oacute put
  202. dup 8#156 /ocircumflex put
  203. dup 8#157 /odieresis put
  204. dup 8#160 /ograve put
  205. dup 8#161 /otilde put
  206. dup 8#162 /scaron put
  207. dup 8#163 /uacute put
  208. dup 8#164 /ucircumflex put
  209. dup 8#165 /udieresis put
  210. dup 8#166 /ugrave put
  211. dup 8#167 /ydieresis put
  212. dup 8#170 /zcaron put
  213. pop
  214. /Enc-dict 30 dict def
  215. Enc-dict /tmpstr1 50 string put
  216. Enc-dict /tmpstr2 50 string put
  217. Enc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put
  218. /AEnc-def { % arguments: the original font's name, encoding nr
  219. Enc-dict begin
  220. tmpstr2 cvs /Enc-no exch def % Remember the number in a string
  221. dup /OrigName exch def % remember the name
  222. findfont dup maxlength dict /newdict exch def % get dictionary for new font
  223. { exch dup /FID ne
  224.    { exch newdict 3 1 roll put }
  225.    { pop pop } % Ignore FID
  226.    ifelse
  227. } forall
  228. newdict begin
  229. /Encoding
  230.   tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval
  231.   cvn load
  232.   def % Replace encoding
  233. currentdict /UniqueID known
  234. { /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueID
  235. end % newdict
  236. /FNlength OrigName tmpstr1 cvs length def % convert name, remember length
  237. FNlength 1 add Enc-no length add string
  238. dup 0 OrigName tmpstr1 cvs putinterval
  239. dup FNlength (-) putinterval
  240. dup FNlength 1 add Enc-no putinterval
  241. dup 0 tmpstr1 0 FNlength getinterval putinterval % Add old name
  242. cvn dup newdict /FontName 3 2 roll put newdict definefont
  243. end % Enc-dict
  244. } def
  245. /Times-Roman 1 AEnc-def pop
  246. /R-1{/Times-Roman-1 FF}def
  247. /R{/Times-Roman FF}def
  248. /B{/Times-Bold FF}def
  249. /I{/Times-Italic FF}def
  250. %%EndProlog
  251. %%Page: 1 1
  252. BP
  253. /slant 0 def
  254. /height 0 def
  255. 480 V
  256. 10 R
  257. 720(CRYPT)S
  258. 1053(()S
  259. 1095(3)S
  260. 1153())S
  261. 2696(Eighth)S
  262. (Edition)296 2989 A
  263. 4794(CRYPT)S
  264. 5127(()S
  265. 5169(3)S
  266. 5227())S
  267. 960 V
  268. 9 R
  269. 720(N)S
  270. 722(NA)S
  271. 790(AM)S
  272. 858(ME)S
  273. 940(E)S
  274. 1080 V
  275. 10 R
  276. 1080(crypt)S
  277. 10 R-1
  278. 1312(-)S
  279. 10 R
  280. 1394(one-way)S
  281. 1766(password)S
  282. 2171(encryption)S
  283. 2626(function)S
  284. 1248 V
  285. 9 R
  286. 720(S)S
  287. 722(SY)S
  288. 774(YN)S
  289. 842(NO)S
  290. 910(OP)S
  291. 978(PS)S
  292. 1030(SI)S
  293. 1082(IS)S
  294. 1115(S)S
  295. 1368 V
  296. 10 B
  297. 1080(#de256ne)S
  298. (_MINIX_SOURCE)839 1426 A
  299. 2303(1)S
  300. 1488 V
  301. 1080(#include)S
  302. 1482(<unistd.h>)S
  303. 1728 V
  304. 1080(char)S
  305. 1314(*crypt(const)S
  306. 1890(char)S
  307. 2124(*)S
  308. 10 I
  309. (key)135 2174 A
  310. 10 B
  311. 2309(,)S
  312. 2372(const)S
  313. 2634(char)S
  314. 2868(*)S
  315. 10 I
  316. 2918(salt)S
  317. 10 B
  318. 3063())S
  319. 1896 V
  320. 9 R
  321. 720(D)S
  322. 722(DE)S
  323. 790(ES)S
  324. 848(SC)S
  325. 900(CR)S
  326. 962(RI)S
  327. 1024(IP)S
  328. 1057(PT)S
  329. 1109(TI)S
  330. 1167(IO)S
  331. 1200(ON)S
  332. 1268(N)S
  333. 2016 V
  334. 10 R
  335. 1080(The)S
  336. 1266(256rst)S
  337. 1452(use)S
  338. 1615(of)S
  339. 10 B
  340. (crypt())298 1728 A
  341. 10 R
  342. 2055(is)S
  343. 2151(to)S
  344. 2258(encrypt)S
  345. 2589(a)S
  346. 2663(password.)S
  347. 3122(Its)S
  348. (second)279 3252 A
  349. 3560(use)S
  350. 3723(is)S
  351. 3819(to)S
  352. 3927(authenticate)S
  353. 4444(a)S
  354. 4519(shadow)S
  355. 4856(password.)S
  356. 2136 V
  357. 1080(In)S
  358. 1189(both)S
  359. 1392(cases)S
  360. 10 B
  361. (crypt())298 1630 A
  362. 10 R
  363. 1953(calls)S
  364. 10 B
  365. 2163(pwdauth)S
  366. 10 R
  367. 2544((8))S
  368. 2687(to)S
  369. 2790(do)S
  370. 2915(the)S
  371. 3063(real)S
  372. 3240(work.)S
  373. 2304 V
  374. 10 B
  375. (Crypt())326 1080 A
  376. 10 R
  377. 1432(encrypts)S
  378. 1799(a)S
  379. 1870(password)S
  380. 2276(if)S
  381. 2364(called)S
  382. 2631(with)S
  383. 2836(a)S
  384. 2907(user)S
  385. 3101(typed)S
  386. 3350(key,)S
  387. 3546(and)S
  388. 3717(a)S
  389. 3788(salt)S
  390. 3954(whose)S
  391. 4237(256rst)S
  392. 4420(two)S
  393. 4597(characters)S
  394. 5033(are)S
  395. 5183(in)S
  396. 2424 V
  397. 1080(the)S
  398. 1238(set)S
  399. 1385([./0-9A-Za-z].)S
  400. 2018(The)S
  401. 2210(result)S
  402. 2469(is)S
  403. 2571(a)S
  404. 2651(character)S
  405. 3057(string)S
  406. 3321(in)S
  407. 3434(the)S
  408. 3592([./0-9A-Za-z])S
  409. 4174(alphabet)S
  410. 4549(of)S
  411. 4667(which)S
  412. 4947(the)S
  413. 5104(256rst)S
  414. 2544 V
  415. 1080(two)S
  416. 1256(characters)S
  417. 1691(are)S
  418. 1840(equal)S
  419. 2083(to)S
  420. 2186(the)S
  421. 2334(salt,)S
  422. 2524(and)S
  423. 2694(the)S
  424. 2842(rest)S
  425. 3013(is)S
  426. 3105(the)S
  427. 3253(result)S
  428. 3502(of)S
  429. 3611(encrypting)S
  430. 4066(the)S
  431. 4214(key)S
  432. 4384(and)S
  433. 4554(the)S
  434. 4702(salt.)S
  435. 2712 V
  436. 1080(If)S
  437. 10 B
  438. (crypt())298 1178 A
  439. 10 R
  440. 1506(is)S
  441. 1604(called)S
  442. 1876(with)S
  443. 2086(a)S
  444. 2162(salt)S
  445. 2333(that)S
  446. 2515(has)S
  447. 2680(the)S
  448. 2834(form)S
  449. 10 B
  450. 3061(##)S
  451. 10 I
  452. 3161(user)S
  453. 10 R
  454. 3365(then)S
  455. 3569(the)S
  456. 3723(key)S
  457. 3899(is)S
  458. 3997(encrypted)S
  459. 4425(and)S
  460. 4601(compared)S
  461. 5029(to)S
  462. 5138(the)S
  463. 2832 V
  464. 1080(encrypted)S
  465. 1516(password)S
  466. 1935(of)S
  467. 10 I
  468. 2058(user)S
  469. 10 R
  470. 2270(in)S
  471. 2387(the)S
  472. 2549(shadow)S
  473. 2895(password)S
  474. 3314(256le.)S
  475. 3532(If)S
  476. 3639(they)S
  477. 3851(are)S
  478. 4014(equal)S
  479. 4271(then)S
  480. 10 B
  481. (crypt())298 4483 A
  482. 10 R
  483. 4820(returns)S
  484. 5138(the)S
  485. 2952 V
  486. 10 B
  487. 1080(##)S
  488. 10 I
  489. 1180(user)S
  490. 10 R
  491. 1387(argument,)S
  492. 1826(if)S
  493. 1922(not)S
  494. 2084(then)S
  495. 2291(some)S
  496. 2537(other)S
  497. 2778(string)S
  498. 3041(is)S
  499. 3142(returned.)S
  500. 3562(This)S
  501. 3775(trick)S
  502. 3994(assures)S
  503. 4319(that)S
  504. 4504(the)S
  505. 4661(normal)S
  506. 4980(way)S
  507. 5183(to)S
  508. 3072 V
  509. 1080(authenticate)S
  510. 1592(a)S
  511. 1662(password)S
  512. (still)151 2067 A
  513. 2243(works:)S
  514. 3240 V
  515. 1440(if)S
  516. 1527((strcmp(pw->pw_passwd,)S
  517. 2602(crypt(key,)S
  518. (pw->pw_passwd))))785 3038 A
  519. (...)75 3848 A
  520. 3408 V
  521. 1080(If)S
  522. 10 I
  523. (key)135 1175 A
  524. 10 R
  525. 1337(is)S
  526. 1431(a)S
  527. 1503(null)S
  528. 1687(string,)S
  529. 1969(and)S
  530. 2142(the)S
  531. 2293(shadow)S
  532. 2628(password)S
  533. 3036(is)S
  534. 3131(a)S
  535. 3204(null)S
  536. 3388(string)S
  537. 3645(or)S
  538. 3757(the)S
  539. 3908(salt)S
  540. 4076(is)S
  541. 4171(a)S
  542. 4244(null)S
  543. 4428(string)S
  544. 4685(then)S
  545. 4886(the)S
  546. 5037(result)S
  547. 3528 V
  548. 1080(equals)S
  549. 10 I
  550. 1369(salt)S
  551. 10 R
  552. 1522(.)S
  553. 1604((This)S
  554. 1849(is)S
  555. (because)319 1948 A
  556. 2299(the)S
  557. 2454(caller)S
  558. 2711(can't)S
  559. 2945(tell)S
  560. 3106(if)S
  561. 3200(a)S
  562. 3277(password)S
  563. 3689(256eld)S
  564. 3900(is)S
  565. 3998(empty)S
  566. 4280(in)S
  567. 4389(the)S
  568. 4543(shadow)S
  569. 4881(password)S
  570. 3648 V
  571. 1080(256le.))S
  572. 3816 V
  573. 1080(The)S
  574. 1262(key)S
  575. 1432(and)S
  576. 1602(salt)S
  577. 1767(are)S
  578. 1916(limited)S
  579. 2226(to)S
  580. (1024)200 2329 A
  581. 2554(bytes)S
  582. 2791(total)S
  583. 2995(including)S
  584. 3399(the)S
  585. 3547(null)S
  586. 3728(bytes.)S
  587. 3984 V
  588. 9 R
  589. 720(F)S
  590. 722(FI)S
  591. 774(IL)S
  592. 807(LE)S
  593. 865(ES)S
  594. 923(S)S
  595. 4104 V
  596. 10 R
  597. (/usr/lib/pwdauth)659 1080 A
  598. 2330(The)S
  599. 2512(password)S
  600. 2917(authentication)S
  601. 3512(program)S
  602. 4272 V
  603. 9 R
  604. 720(S)S
  605. 722(SE)S
  606. 774(EE)S
  607. 832(E)S
  608. 913(A)S
  609. 915(AL)S
  610. 983(LS)S
  611. 1041(SO)S
  612. 1093(O)S
  613. 4392 V
  614. 10 B
  615. 1080(getpass)S
  616. 10 R
  617. 1393((3),)S
  618. 10 B
  619. 1561(getpwent)S
  620. 10 R
  621. 1954((3),)S
  622. 10 B
  623. 2122(passwd)S
  624. 10 R
  625. 2435((5),)S
  626. 10 B
  627. 2603(pwdauth)S
  628. 10 R
  629. 2984((8).)S
  630. 4560 V
  631. 9 R
  632. 720(N)S
  633. 722(NO)S
  634. 790(OT)S
  635. 858(TE)S
  636. 916(ES)S
  637. 974(S)S
  638. 4680 V
  639. 10 R
  640. 1080(The)S
  641. 1274(result)S
  642. 1535(of)S
  643. 1657(an)S
  644. 1790(encryption)S
  645. 2258(is)S
  646. 2363(returned)S
  647. 2737(in)S
  648. 2853(a)S
  649. 2936(static)S
  650. 3187(array)S
  651. 3433(that)S
  652. 3622(is)S
  653. (overwritten)465 3727 A
  654. 4230(by)S
  655. (each)185 4368 A
  656. 4591(call.)S
  657. 4825(The)S
  658. 5020(return)S
  659. 4800 V
  660. 1080(value)S
  661. (should)267 1323 A
  662. 1615(not)S
  663. 1768(be)S
  664. 1888(modi256ed.)S
  665. 4968 V
  666. 9 R
  667. 720(A)S
  668. 722(AU)S
  669. 790(UT)S
  670. 858(TH)S
  671. 916(HO)S
  672. 984(OR)S
  673. 1052(R)S
  674. 5088 V
  675. 10 R
  676. 1080(Kees)S
  677. 1307(J.)S
  678. 1396(Bot)S
  679. 1566((kjb@cs.vu.nl))S
  680. 7903 V
  681. 720(Page)S
  682. 941(1)S
  683. 4455(September)S
  684. 4911(13,)S
  685. (1996)200 5061 A
  686. 8143 V
  687. EP
  688. %%Trailer
  689. %%DocumentFonts: Times-Roman Times-Bold Times-Italic
  690. %%Pages: 1