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

📄 keys.h

📁 一个windows上的加解密程式 提供方便的介面让使用者操作
💻 H
字号:
/*  Protocol-independent Key structures                                   *//*             Copyright (C) 2001-2003 William Tompkins                   *//* This plugin is free software, distributed under the GNU General Public *//* License.                                                               *//* Please see the file "COPYING" distributed with the Gaim source code    *//* for more details                                                       *//*                                                                        *//*                                                                        *//*    This software 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.                             *//*   To compile and use:                                                  *//*     See INSTALL file.                                                  */#ifndef KEYS_H#define KEYS_H#include "cryptproto.h"#include "debug.h"#include "gaim.h"#include "conversation.h"#define KEY_DIGEST_LENGTH 10#define KEY_FINGERPRINT_LENGTH 59#define MAX_KEY_STORLEN 8000   /* The maximum length of a key stored in a file (in chars) */struct crypt_key {   crypt_proto* proto;   proto_union store;                         /* Protocol dependent key data          */   /*   enum {Public, Private} type; */   char length[6];                            /* string: Size of key (for ui display) */   char digest[KEY_DIGEST_LENGTH];            /* Top 10 hex digits of modulus         */   char fingerprint[KEY_FINGERPRINT_LENGTH];  /* SHA-1 hash of modulus, as 12:34:56...*/   /* Why have both digest and fingerprint?  Well a) historical b) practicality       */   /*  digest is insecure as a means of verifying that keys are actually the same     */   /*  fingerprint is too long to include with every message                          */};typedef struct crypt_key crypt_key;struct key_ring_data {   char name[64];   GaimAccount* account;   crypt_key* key;};typedef struct key_ring_data key_ring_data;typedef GSList key_ring;/* List of all the keys we know about */extern key_ring *GE_buddy_ring, *GE_saved_buddy_ring, *GE_my_priv_ring, *GE_my_pub_ring;static const char Private_key_file[] = "id.priv";static const char Public_key_file[] = "id";static const char Buddy_key_file[] = "known_keys";/*The key routines: */crypt_key * GE_find_key_by_name(key_ring *, const char *name, GaimAccount* acct);crypt_key * GE_find_own_key_by_name(key_ring **, char *name, GaimAccount *acct, GaimConversation *conv);void        GE_debug_dump_keyring(key_ring *);key_ring *  GE_find_key_node_by_name(key_ring *, const char *name, GaimAccount* acct);void        GE_received_key(char *keystr, char *name, GaimAccount* acct, GaimConversation *conv, char** orig_msg);key_ring *  GE_load_keys(const char *);void        GE_save_keys(key_ring *, char *, char *);void        GE_key_rings_init(void);key_ring*   GE_add_key_to_ring(key_ring*, key_ring_data*);void        GE_add_key_to_file(const char *filename, key_ring_data* key);key_ring*   GE_del_key_from_ring(key_ring* ring, const char* name, GaimAccount* acct);void        GE_del_key_from_file(const char *filename, const char *name, GaimAccount *acct);void        GE_del_one_key_from_file(const char *filename, int key_num, const char *name);key_ring*   GE_clear_ring(key_ring*);void        GE_make_private_pair(crypt_proto* proto, const char* name, GaimAccount* acct, int keylength);#endif

⌨️ 快捷键说明

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