⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prondata.c

📁 keyring是一种用于保护PALM中关键信息的系统
💻 C
📖 第 1 页 / 共 3 页
字号:
/* -*- c-file-style: "java"; -*- * * $Header: /cvsroot/gnukeyring/keyring/prondata.c,v 1.1 2003/10/06 13:21:40 hoenicke Exp $ *  * Keyring -- store passwords securely on a handheld * Copyright (C) 2002-2003 Jochen Hoenicke <hoenicke@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *//*                                                 The following is a listing of the source code referenced in theAppendix A of the Automated Password Generator Standard, extractedfrom http://www.eff.org/Privacy/Newin/New_nist/fips181.txt on 8 May2002.  There is no licensing information regarding this code in theabove document, however, it seems clear that it is intended to be usedas a reference implementation.  Derivative works would therefore beOK.The idea and first implementation to use this code in keyring is dueto Robin Stephenson.*/#include <PalmOS.h>#include "pronounce.h"static const struct unit rules[RULE_SIZE] = {  {"a", VOWEL},  {"b", NO_SPECIAL_RULE},  {"c", NO_SPECIAL_RULE},  {"d", NO_SPECIAL_RULE},  {"e", NO_FINAL_SPLIT | VOWEL},  {"f", NO_SPECIAL_RULE},  {"g", NO_SPECIAL_RULE},  {"h", NO_SPECIAL_RULE},  {"i", VOWEL},  {"j", NO_SPECIAL_RULE},  {"k", NO_SPECIAL_RULE},  {"l", NO_SPECIAL_RULE},  {"m", NO_SPECIAL_RULE},  {"n", NO_SPECIAL_RULE},  {"o", VOWEL},  {"p", NO_SPECIAL_RULE},  {"r", NO_SPECIAL_RULE},  {"s", NO_SPECIAL_RULE},  {"t", NO_SPECIAL_RULE},  {"u", VOWEL},  {"v", NO_SPECIAL_RULE},  {"w", NO_SPECIAL_RULE},  {"x", NOT_BEGIN_SYLLABLE},  {"y", ALTERNATE_VOWEL | VOWEL},  {"z", NO_SPECIAL_RULE},  {"ch", NO_SPECIAL_RULE},  {"gh", NO_SPECIAL_RULE},  {"ph", NO_SPECIAL_RULE},  {"rh", NO_SPECIAL_RULE},  {"sh", NO_SPECIAL_RULE},  {"th", NO_SPECIAL_RULE},  {"wh", NO_SPECIAL_RULE},  {"qu", NO_SPECIAL_RULE},  {"ck", NOT_BEGIN_SYLLABLE}};static const UInt8 digram[RULE_SIZE][RULE_SIZE] = {  {  /* aa */ ILLEGAL_PAIR,  /* ab */ ANY_COMBINATION,  /* ac */ ANY_COMBINATION,  /* ad */ ANY_COMBINATION,  /* ae */ ILLEGAL_PAIR,  /* af */ ANY_COMBINATION,  /* ag */ ANY_COMBINATION,  /* ah */ NOT_BEGIN | BREAK | NOT_END,  /* ai */ ANY_COMBINATION,  /* aj */ ANY_COMBINATION,  /* ak */ ANY_COMBINATION,  /* al */ ANY_COMBINATION,  /* am */ ANY_COMBINATION,  /* an */ ANY_COMBINATION,  /* ao */ ILLEGAL_PAIR,  /* ap */ ANY_COMBINATION,  /* ar */ ANY_COMBINATION,  /* as */ ANY_COMBINATION,  /* at */ ANY_COMBINATION,  /* au */ ANY_COMBINATION,  /* av */ ANY_COMBINATION,  /* aw */ ANY_COMBINATION,  /* ax */ ANY_COMBINATION,  /* ay */ ANY_COMBINATION,  /* az */ ANY_COMBINATION,  /* ach */ ANY_COMBINATION,  /* agh */ ILLEGAL_PAIR,  /* aph */ ANY_COMBINATION,  /* arh */ ILLEGAL_PAIR,  /* ash */ ANY_COMBINATION,  /* ath */ ANY_COMBINATION,  /* awh */ ILLEGAL_PAIR,  /* aqu */ BREAK | NOT_END,  /* ack */ ANY_COMBINATION  },{  /* ba */ ANY_COMBINATION,  /* bb */ NOT_BEGIN | BREAK | NOT_END,  /* bc */ NOT_BEGIN | BREAK | NOT_END,  /* bd */ NOT_BEGIN | BREAK | NOT_END,  /* be */ ANY_COMBINATION,  /* bf */ NOT_BEGIN | BREAK | NOT_END,  /* bg */ NOT_BEGIN | BREAK | NOT_END,  /* bh */ NOT_BEGIN | BREAK | NOT_END,  /* bi */ ANY_COMBINATION,  /* bj */ NOT_BEGIN | BREAK | NOT_END,  /* bk */ NOT_BEGIN | BREAK | NOT_END,  /* bl */ BEGIN | SUFFIX | NOT_END,  /* bm */ NOT_BEGIN | BREAK | NOT_END,  /* bn */ NOT_BEGIN | BREAK | NOT_END,  /* bo */ ANY_COMBINATION,  /* bp */ NOT_BEGIN | BREAK | NOT_END,  /* br */ BEGIN | END,  /* bs */ NOT_BEGIN,  /* bt */ NOT_BEGIN | BREAK | NOT_END,  /* bu */ ANY_COMBINATION,  /* bv */ NOT_BEGIN | BREAK | NOT_END,  /* bw */ NOT_BEGIN | BREAK | NOT_END,  /* bx */ ILLEGAL_PAIR,  /* by */ ANY_COMBINATION,  /* bz */ NOT_BEGIN | BREAK | NOT_END,  /* bch */ NOT_BEGIN | BREAK | NOT_END,  /* bgh */ ILLEGAL_PAIR,  /* bph */ NOT_BEGIN | BREAK | NOT_END,  /* brh */ ILLEGAL_PAIR,  /* bsh */ NOT_BEGIN | BREAK | NOT_END,  /* bth */ NOT_BEGIN | BREAK | NOT_END,  /* bwh */ ILLEGAL_PAIR,  /* bqu */ NOT_BEGIN | BREAK | NOT_END,  /* bck */ ILLEGAL_PAIR  },{  /* ca */ ANY_COMBINATION,  /* cb */ NOT_BEGIN | BREAK | NOT_END,  /* cc */ NOT_BEGIN | BREAK | NOT_END,  /* cd */ NOT_BEGIN | BREAK | NOT_END,  /* ce */ ANY_COMBINATION,  /* cf */ NOT_BEGIN | BREAK | NOT_END,  /* cg */ NOT_BEGIN | BREAK | NOT_END,  /* ch */ NOT_BEGIN | BREAK | NOT_END,  /* ci */ ANY_COMBINATION,  /* cj */ NOT_BEGIN | BREAK | NOT_END,  /* ck */ NOT_BEGIN | BREAK | NOT_END,  /* cl */ SUFFIX | NOT_END,  /* cm */ NOT_BEGIN | BREAK | NOT_END,  /* cn */ NOT_BEGIN | BREAK | NOT_END,  /* co */ ANY_COMBINATION,  /* cp */ NOT_BEGIN | BREAK | NOT_END,  /* cr */ NOT_END,  /* cs */ NOT_BEGIN | END,  /* ct */ NOT_BEGIN | PREFIX,  /* cu */ ANY_COMBINATION,  /* cv */ NOT_BEGIN | BREAK | NOT_END,  /* cw */ NOT_BEGIN | BREAK | NOT_END,  /* cx */ ILLEGAL_PAIR,  /* cy */ ANY_COMBINATION,  /* cz */ NOT_BEGIN | BREAK | NOT_END,  /* cch */ ILLEGAL_PAIR,  /* cgh */ ILLEGAL_PAIR,  /* cph */ NOT_BEGIN | BREAK | NOT_END,  /* crh */ ILLEGAL_PAIR,  /* csh */ NOT_BEGIN | BREAK | NOT_END,  /* cth */ NOT_BEGIN | BREAK | NOT_END,  /* cwh */ ILLEGAL_PAIR,  /* cqu */ NOT_BEGIN | SUFFIX | NOT_END,  /* cck */ ILLEGAL_PAIR  },{  /* da */ ANY_COMBINATION,  /* db */ NOT_BEGIN | BREAK | NOT_END,  /* dc */ NOT_BEGIN | BREAK | NOT_END,  /* dd */ NOT_BEGIN,  /* de */ ANY_COMBINATION,  /* df */ NOT_BEGIN | BREAK | NOT_END,  /* dg */ NOT_BEGIN | BREAK | NOT_END,  /* dh */ NOT_BEGIN | BREAK | NOT_END,  /* di */ ANY_COMBINATION,  /* dj */ NOT_BEGIN | BREAK | NOT_END,  /* dk */ NOT_BEGIN | BREAK | NOT_END,  /* dl */ NOT_BEGIN | BREAK | NOT_END,  /* dm */ NOT_BEGIN | BREAK | NOT_END,  /* dn */ NOT_BEGIN | BREAK | NOT_END,  /* do */ ANY_COMBINATION,  /* dp */ NOT_BEGIN | BREAK | NOT_END,  /* dr */ BEGIN | NOT_END,  /* ds */ NOT_BEGIN | END,  /* dt */ NOT_BEGIN | BREAK | NOT_END,  /* du */ ANY_COMBINATION,  /* dv */ NOT_BEGIN | BREAK | NOT_END,  /* dw */ NOT_BEGIN | BREAK | NOT_END,  /* dx */ ILLEGAL_PAIR,  /* dy */ ANY_COMBINATION,  /* dz */ NOT_BEGIN | BREAK | NOT_END,  /* dch */ NOT_BEGIN | BREAK | NOT_END,  /* dgh */ NOT_BEGIN | BREAK | NOT_END,  /* dph */ NOT_BEGIN | BREAK | NOT_END,  /* drh */ ILLEGAL_PAIR,  /* dsh */ NOT_BEGIN | NOT_END,  /* dth */ NOT_BEGIN | PREFIX,  /* dwh */ ILLEGAL_PAIR,  /* dqu */ NOT_BEGIN | BREAK | NOT_END,  /* dck */ ILLEGAL_PAIR  },{  /* ea */ ANY_COMBINATION,  /* eb */ ANY_COMBINATION,  /* ec */ ANY_COMBINATION,  /* ed */ ANY_COMBINATION,  /* ee */ ANY_COMBINATION,  /* ef */ ANY_COMBINATION,  /* eg */ ANY_COMBINATION,  /* eh */ NOT_BEGIN | BREAK | NOT_END,  /* ei */ NOT_END,  /* ej */ ANY_COMBINATION,  /* ek */ ANY_COMBINATION,  /* el */ ANY_COMBINATION,  /* em */ ANY_COMBINATION,  /* en */ ANY_COMBINATION,  /* eo */ BREAK,  /* ep */ ANY_COMBINATION,  /* er */ ANY_COMBINATION,  /* es */ ANY_COMBINATION,  /* et */ ANY_COMBINATION,  /* eu */ ANY_COMBINATION,  /* ev */ ANY_COMBINATION,  /* ew */ ANY_COMBINATION,  /* ex */ ANY_COMBINATION,  /* ey */ ANY_COMBINATION,  /* ez */ ANY_COMBINATION,  /* ech */ ANY_COMBINATION,  /* egh */ NOT_BEGIN | BREAK | NOT_END,  /* eph */ ANY_COMBINATION,  /* erh */ ILLEGAL_PAIR,  /* esh */ ANY_COMBINATION,  /* eth */ ANY_COMBINATION,  /* ewh */ ILLEGAL_PAIR,  /* equ */ BREAK | NOT_END,  /* eck */ ANY_COMBINATION  },{  /* fa */ ANY_COMBINATION,  /* fb */ NOT_BEGIN | BREAK | NOT_END,  /* fc */ NOT_BEGIN | BREAK | NOT_END,  /* fd */ NOT_BEGIN | BREAK | NOT_END,  /* fe */ ANY_COMBINATION,  /* ff */ NOT_BEGIN,  /* fg */ NOT_BEGIN | BREAK | NOT_END,  /* fh */ NOT_BEGIN | BREAK | NOT_END,  /* fi */ ANY_COMBINATION,  /* fj */ NOT_BEGIN | BREAK | NOT_END,  /* fk */ NOT_BEGIN | BREAK | NOT_END,  /* fl */ BEGIN | SUFFIX | NOT_END,  /* fm */ NOT_BEGIN | BREAK | NOT_END,  /* fn */ NOT_BEGIN | BREAK | NOT_END,  /* fo */ ANY_COMBINATION,  /* fp */ NOT_BEGIN | BREAK | NOT_END,  /* fr */ BEGIN | NOT_END,  /* fs */ NOT_BEGIN,  /* ft */ NOT_BEGIN,  /* fu */ ANY_COMBINATION,  /* fv */ NOT_BEGIN | BREAK | NOT_END,  /* fw */ NOT_BEGIN | BREAK | NOT_END,  /* fx */ ILLEGAL_PAIR,  /* fy */ NOT_BEGIN,  /* fz */ NOT_BEGIN | BREAK | NOT_END,  /* fch */ NOT_BEGIN | BREAK | NOT_END,  /* fgh */ NOT_BEGIN | BREAK | NOT_END,  /* fph */ NOT_BEGIN | BREAK | NOT_END,  /* frh */ ILLEGAL_PAIR,  /* fsh */ NOT_BEGIN | BREAK | NOT_END,  /* fth */ NOT_BEGIN | BREAK | NOT_END,  /* fwh */ ILLEGAL_PAIR,  /* fqu */ NOT_BEGIN | BREAK | NOT_END,  /* fck */ ILLEGAL_PAIR  },{  /* ga */ ANY_COMBINATION,  /* gb */ NOT_BEGIN | BREAK | NOT_END,  /* gc */ NOT_BEGIN | BREAK | NOT_END,  /* gd */ NOT_BEGIN | BREAK | NOT_END,  /* ge */ ANY_COMBINATION,  /* gf */ NOT_BEGIN | BREAK | NOT_END,  /* gg */ NOT_BEGIN,  /* gh */ NOT_BEGIN | BREAK | NOT_END,  /* gi */ ANY_COMBINATION,  /* gj */ NOT_BEGIN | BREAK | NOT_END,  /* gk */ ILLEGAL_PAIR,  /* gl */ BEGIN | SUFFIX | NOT_END,  /* gm */ NOT_BEGIN | BREAK | NOT_END,  /* gn */ NOT_BEGIN | BREAK | NOT_END,  /* go */ ANY_COMBINATION,  /* gp */ NOT_BEGIN | BREAK | NOT_END,  /* gr */ BEGIN | NOT_END,  /* gs */ NOT_BEGIN | END,  /* gt */ NOT_BEGIN | BREAK | NOT_END,  /* gu */ ANY_COMBINATION,  /* gv */ NOT_BEGIN | BREAK | NOT_END,  /* gw */ NOT_BEGIN | BREAK | NOT_END,  /* gx */ ILLEGAL_PAIR,  /* gy */ NOT_BEGIN,  /* gz */ NOT_BEGIN | BREAK | NOT_END,  /* gch */ NOT_BEGIN | BREAK | NOT_END,  /* ggh */ ILLEGAL_PAIR,  /* gph */ NOT_BEGIN | BREAK | NOT_END,  /* grh */ ILLEGAL_PAIR,  /* gsh */ NOT_BEGIN,  /* gth */ NOT_BEGIN,  /* gwh */ ILLEGAL_PAIR,  /* gqu */ NOT_BEGIN | BREAK | NOT_END,  /* gck */ ILLEGAL_PAIR  },{  /* ha */ ANY_COMBINATION,  /* hb */ NOT_BEGIN | BREAK | NOT_END,  /* hc */ NOT_BEGIN | BREAK | NOT_END,  /* hd */ NOT_BEGIN | BREAK | NOT_END,  /* he */ ANY_COMBINATION,  /* hf */ NOT_BEGIN | BREAK | NOT_END,  /* hg */ NOT_BEGIN | BREAK | NOT_END,  /* hh */ ILLEGAL_PAIR,  /* hi */ ANY_COMBINATION,  /* hj */ NOT_BEGIN | BREAK | NOT_END,  /* hk */ NOT_BEGIN | BREAK | NOT_END,  /* hl */ NOT_BEGIN | BREAK | NOT_END,  /* hm */ NOT_BEGIN | BREAK | NOT_END,  /* hn */ NOT_BEGIN | BREAK | NOT_END,  /* ho */ ANY_COMBINATION,  /* hp */ NOT_BEGIN | BREAK | NOT_END,  /* hr */ NOT_BEGIN | BREAK | NOT_END,  /* hs */ NOT_BEGIN | BREAK | NOT_END,  /* ht */ NOT_BEGIN | BREAK | NOT_END,  /* hu */ ANY_COMBINATION,  /* hv */ NOT_BEGIN | BREAK | NOT_END,  /* hw */ NOT_BEGIN | BREAK | NOT_END,  /* hx */ ILLEGAL_PAIR,  /* hy */ ANY_COMBINATION,  /* hz */ NOT_BEGIN | BREAK | NOT_END,  /* hch */ NOT_BEGIN | BREAK | NOT_END,  /* hgh */ NOT_BEGIN | BREAK | NOT_END,  /* hph */ NOT_BEGIN | BREAK | NOT_END,  /* hrh */ ILLEGAL_PAIR,  /* hsh */ NOT_BEGIN | BREAK | NOT_END,  /* hth */ NOT_BEGIN | BREAK | NOT_END,  /* hwh */ ILLEGAL_PAIR,  /* hqu */ NOT_BEGIN | BREAK | NOT_END,  /* hck */ ILLEGAL_PAIR  },{  /* ia */ ANY_COMBINATION,  /* ib */ ANY_COMBINATION,  /* ic */ ANY_COMBINATION,  /* id */ ANY_COMBINATION,  /* ie */ NOT_BEGIN,  /* if */ ANY_COMBINATION,  /* ig */ ANY_COMBINATION,  /* ih */ NOT_BEGIN | BREAK | NOT_END,  /* ii */ ILLEGAL_PAIR,  /* ij */ ANY_COMBINATION,  /* ik */ ANY_COMBINATION,  /* il */ ANY_COMBINATION,  /* im */ ANY_COMBINATION,  /* in */ ANY_COMBINATION,  /* io */ BREAK,  /* ip */ ANY_COMBINATION,  /* ir */ ANY_COMBINATION,  /* is */ ANY_COMBINATION,  /* it */ ANY_COMBINATION,  /* iu */ NOT_BEGIN | BREAK | NOT_END,  /* iv */ ANY_COMBINATION,  /* iw */ NOT_BEGIN | BREAK | NOT_END,  /* ix */ ANY_COMBINATION,  /* iy */ NOT_BEGIN | BREAK | NOT_END,  /* iz */ ANY_COMBINATION,  /* ich */ ANY_COMBINATION,  /* igh */ NOT_BEGIN,  /* iph */ ANY_COMBINATION,  /* irh */ ILLEGAL_PAIR,  /* ish */ ANY_COMBINATION,  /* ith */ ANY_COMBINATION,  /* iwh */ ILLEGAL_PAIR,  /* iqu */ BREAK | NOT_END,  /* ick */ ANY_COMBINATION  },{  /* ja */ ANY_COMBINATION,  /* jb */ NOT_BEGIN | BREAK | NOT_END,  /* jc */ NOT_BEGIN | BREAK | NOT_END,  /* jd */ NOT_BEGIN | BREAK | NOT_END,  /* je */ ANY_COMBINATION,  /* jf */ NOT_BEGIN | BREAK | NOT_END,  /* jg */ ILLEGAL_PAIR,  /* jh */ NOT_BEGIN | BREAK | NOT_END,  /* ji */ ANY_COMBINATION,  /* jj */ ILLEGAL_PAIR,  /* jk */ NOT_BEGIN | BREAK | NOT_END,  /* jl */ NOT_BEGIN | BREAK | NOT_END,  /* jm */ NOT_BEGIN | BREAK | NOT_END,  /* jn */ NOT_BEGIN | BREAK | NOT_END,  /* jo */ ANY_COMBINATION,  /* jp */ NOT_BEGIN | BREAK | NOT_END,  /* jr */ NOT_BEGIN | BREAK | NOT_END,  /* js */ NOT_BEGIN | BREAK | NOT_END,  /* jt */ NOT_BEGIN | BREAK | NOT_END,  /* ju */ ANY_COMBINATION,  /* jv */ NOT_BEGIN | BREAK | NOT_END,  /* jw */ NOT_BEGIN | BREAK | NOT_END,  /* jx */ ILLEGAL_PAIR,  /* jy */ NOT_BEGIN,  /* jz */ NOT_BEGIN | BREAK | NOT_END,  /* jch */ NOT_BEGIN | BREAK | NOT_END,  /* jgh */ NOT_BEGIN | BREAK | NOT_END,  /* jph */ NOT_BEGIN | BREAK | NOT_END,  /* jrh */ ILLEGAL_PAIR,  /* jsh */ NOT_BEGIN | BREAK | NOT_END,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -