本文整理汇总了C++中check_password函数的典型用法代码示例。如果您正苦于以下问题:C++ check_password函数的具体用法?C++ check_password怎么用?C++ check_password使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了check_password函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: get_http_var
void Server::authorize(struct mg_connection *conn, struct http_message *hm) {
Server::session *session;
std::string user = get_http_var(hm, "user");
std::string password = get_http_var(hm, "password");
std::string host;
mg_str *host_hdr = mg_get_http_header(hm, "Host");
if (host_hdr) {
if (!CONFIG_STRING(m_config, "service.cert").empty()) {
host += "https://";
}
else {
host += "http://";
}
host += std::string(host_hdr->p, host_hdr->len);
}
if (check_password(user, password) && (session = new_session(user)) != NULL) {
std::cout << "User authorized\n";
mg_printf(conn, "HTTP/1.1 302 Found\r\n"
"Set-Cookie: session=%s; max-age=3600; http-only\r\n" // Session ID
"Set-Cookie: user=%s\r\n" // Set user, needed by Javascript code
"Set-Cookie: admin=%s\r\n" // Set user, needed by Javascript code
"Set-Cookie: base_location=%s\r\n" // Set user, needed by Javascript code
"Set-Cookie: original_url=/; max-age=0\r\n" // Delete original_url
"Location: %s%sinstances\r\n\r\n",
session->session_id, session->user, session->admin ? "1" : "0", CONFIG_STRING(m_config, "service.base_location").c_str(), host.c_str(), CONFIG_STRING(m_config, "service.base_location").c_str());
} else {
// Authentication failure, redirect to login.
redirect_to(conn, hm, "/login");
}
}
开发者ID:lactide,项目名称:spectrum2,代码行数:32,代码来源:server.cpp
示例2: authenticate
int RASocket::authenticate()
{
if (send(std::string("Username: ")) == -1)
return -1;
std::string user;
if (recv_line(user) == -1)
return -1;
if (send(std::string("Password: ")) == -1)
return -1;
std::string pass;
if (recv_line(pass) == -1)
return -1;
sLog->outRemote("Login attempt for user: %s", user.c_str());
if (check_access_level(user) == -1)
return -1;
if (check_password(user, pass) == -1)
return -1;
sLog->outRemote("User login: %s", user.c_str());
return 0;
}
开发者ID:Sar777,项目名称:SkyFireEMU,代码行数:28,代码来源:RASocket.cpp
示例3: main
int
main(int argc, const char **argv)
{
jaro_credential_t cred = {0};
int res = 0;
if (argc < 2) {
error("Usage: jaro-gnome-keyring <get|check|store|erase>");
error("input from stdin: newline separated parameter=value tuples");
error("i.e: protocol, path, username, host, password (password on store)");
return 1;
}
if (read_credential(&cred)) {
clear_credential(&cred);
return 1;
}
if (strcmp(argv[1], "get") == 0) {
res = get_password(&cred);
}
if (strcmp(argv[1], "check") == 0) {
res = check_password(&cred);
}
else if (strcmp(argv[1], "store") == 0) {
res = store_password(&cred);
}
else if (strcmp(argv[1], "erase") == 0) {
res = erase_password(&cred);
}
clear_credential(&cred);
return res;
}
开发者ID:940817335,项目名称:JaroMail,代码行数:34,代码来源:jaro-gnome-keyring.c
示例4: main
int main(int argc, char *argv[]){
if(argc >= 2){
if(check_password(argv[1])){
printf("%s", "Access granted\n");
}else{
printf("%s", "Access denied\n");
}
}else{
printf("%s", "Please enter password!\n");
}
}
开发者ID:AIdrifter,项目名称:Skill-C,代码行数:11,代码来源:test.c
示例5: check_auth
/* Authenticates the user, returns 0 on success, 1 on fail */
static int check_auth()
{
struct passwd *pw;
uid_t uid;
#ifdef HAVE_AUDIT
uid = audit_getloginuid();
if (uid == (uid_t) -1)
uid = getuid();
#else
uid = getuid();
#endif
pw = getpwuid(uid);
if (!pw) {
eerror("cannot find your entry in the passwd file.");
return (-1);
}
printf("Authenticating %s.\n", pw->pw_name);
/* do the actual check */
if (check_password(pw->pw_name) == 0) {
return 0;
}
eerrorx("Authentication failed for %s", pw->pw_name);
return 1;
}
开发者ID:OpenRC,项目名称:openrc,代码行数:30,代码来源:rc-selinux.c
示例6: create_account
int create_account(DB *database, unsigned char *username, unsigned char *password)
{
int user_hash = SearchHash(username);
if (!strcmp(username, database->db[user_hash].username))
{
printf("Sorry, that username is already taken. Please try again.\n\n");
return 0;
}
if (!check_password(password))
{
printf("Sorry, your password must be 8-20 characters in length and contain ");
printf("either a number or one of these special characters: [email protected]#$%%*.\n\n");
return 0;
}
// copy username to db location
strcpy(database->db[user_hash].username, username);
// create new password with salt
int new_length = strlen(password) + strlen(salt);
char *salt_password = malloc(sizeof(char) * new_length + 1);
strcpy(salt_password, password);
strcat(salt_password, salt);
database->db[user_hash].password = CryptoHash(salt_password);
return 1;
}
开发者ID:kirkelifson,项目名称:classes,代码行数:29,代码来源:simpleauth.c
示例7: main
//main function for running program
int main()
{
bool is_permission = false;
int attempt_number = 1;
char password[] = PASSWORD;
char password_attempt[100];
print_intro();
//password attempt loop
do
{
print_security_level(attempt_number);
scanf("%99s", password_attempt);
is_permission = check_password(password, password_attempt);
//print cases for password attempt
if(is_permission == false && attempt_number == MAX_ATTEMPT)
{
print_password_denied(attempt_number, MAX_ATTEMPT);
system("qlmanage -p ./data/ned.gif");
animate();
}
else if(is_permission == true)
print_access();
else
{
print_password_denied(attempt_number, MAX_ATTEMPT);
attempt_number++;
}
}while(is_permission == false);
return 0;
}
开发者ID:zgmartin,项目名称:magic-word,代码行数:36,代码来源:main.c
示例8: check_restriction
int check_restriction(long idx_article)
{
int fd;
int len;
char restriction_pass2[20];
SHA1Context sha;
char title[MAX_TITLE_ACTUAL];
init_filtering = 0;
if (restriction_filter_off == -1)
{
fd = wl_open("wiki.pas", WL_O_RDONLY);
if (fd >= 0)
{
len = wl_read(fd, restriction_pass1, 20);
if (len < 20)
memset(restriction_pass1, 0, 20);
memset(restriction_pass2, 0, 20);
if (memcmp(restriction_pass1, restriction_pass2, 20)) // all 0's for no password saved
{
len = wl_read(fd, restriction_pass2, 20);
if (len < 20)
memset(restriction_pass2, 0, 20);
SHA1Reset(&sha);
SHA1Input(&sha, (const unsigned char *) restriction_pass1, 20);
SHA1Result(&sha);
if (!memcmp(sha.Message_Digest, restriction_pass2, 20))
restriction_filter_off = 1;
else
restriction_filter_off = 0;
}
wl_close(fd);
}
}
if (restriction_filter_off == -1)
{
get_article_title_from_idx(saved_idx_article, title);
memset(&framebuffer[0], 0, (BLACK_SPACE_START - 1)* LCD_VRAM_WIDTH_PIXELS / 8);
render_string(TITLE_FONT_IDX, LCD_LEFT_MARGIN, LCD_TOP_MARGIN, title, strlen(title), 0);
first_time_password(0);
return -1;
} else if (restriction_filter_off)
return 0; // ok
else
{
get_article_title_from_idx(saved_idx_article, title);
memset(&framebuffer[0], 0, (BLACK_SPACE_START - 1)* LCD_VRAM_WIDTH_PIXELS / 8);
render_string(TITLE_FONT_IDX, LCD_LEFT_MARGIN, LCD_TOP_MARGIN, title, strlen(title), 0);
password_str_len = 0;
check_password();
return -1;
}
}
开发者ID:9072997,项目名称:wikireader,代码行数:55,代码来源:restricted.c
示例9: parse_auth
/**
* Parse username and password
*/
static int parse_auth(SSH *ssh) {
byte *p;
byte *out;
byte aux;
word32 outSz;
p = ssh->sp.data;
/* Get username */
read_bin(&p, &out, &outSz);
/* Size valid? */
if (outSz > MAX_UN_LEN)
return -1;
memcpy(ssh->user, out, outSz);
ssh->user[outSz] = 0;
/* Get service */
read_bin(&p, &out, &outSz);
/* Get method */
read_bin(&p, &out, &outSz);
/* Only support password based autentication */
if (memcmp(out, PASSWORD_STR, strlen(PASSWORD_STR)) != 0) {
return 1;
}
/* Read byte */
read_byte(&p, &aux);
/* Get password */
read_bin(&p, &out, &outSz);
/* Size valid? */
if (outSz > MAX_PW_LEN)
return -1;
memcpy(ssh->pass, out, outSz);
ssh->pass[outSz] = 0;
/* Check username and password */
if (check_password(ssh->user, ssh->pass) < 0) {
/* Limit auth attempts */
if (ssh->authAtt++ > 1) {
return -1;
}
return 1;
}
ssh->state = SSH_AUTH;
return 0;
}
开发者ID:cfrodca,项目名称:tiva-ssh,代码行数:58,代码来源:auth.c
示例10: cgiMain
/***************************************************************************
Function: cgiMain
Description:
Input:
Output:
Return: 0 OK, other Error
Others: none
***************************************************************************/
int cgiMain()
{
char account[FEATURE_GDGL_ACCOUNT_MAX_LEN + 1]; //16 + terminating null
char password[FEATURE_GDGL_PASSWD_MAX_LEN + 1]; //16 + terminating null
char gateway_id[FEATURE_GDGL_ID_LEN + 1]; //12 + terminating null
char gateway_alias[FEATURE_GDGL_ACCOUNT_MAX_LEN + 1];
char gateway_passwd[FEATURE_GDGL_PASSWD_MAX_LEN + 1];
cgiFormResultType cgi_re;
int res;
cgiHeaderContentType("application/json"); //MIME
// Read ID
res = read_id(gateway_id);
if (res != 0) {
client_admin_response("noid", res, clientAdminResultStr[res]);
return res;
}
// Read alias
res = read_alias(gateway_alias);
if (res != 0) {
client_admin_response(gateway_id, res, clientAdminResultStr[res]);
return res;
}
// Read password
res = read_password(gateway_passwd);
if (res != 0) {
client_admin_response(gateway_id, res, clientAdminResultStr[res]);
return res;
}
// Check account
cgi_re = cgiFormString("account", account, FEATURE_GDGL_ACCOUNT_MAX_LEN + 1);
res = check_account(cgi_re, account, gateway_id, gateway_alias);
if (res != 0) {
client_admin_response(gateway_id, res, clientAdminResultStr[res]);
return res;
}
// Check password
cgi_re = cgiFormString("password", password, FEATURE_GDGL_PASSWD_MAX_LEN + 1);
res = check_password(cgi_re, password, gateway_passwd);
if (res != 0) {
client_admin_response(gateway_id, res, clientAdminResultStr[res]);
return res;
}
// account & password all right
client_admin_response(gateway_id, clientAdminSuccess, clientAdminResultStr[clientAdminSuccess]);
return 0;
}
开发者ID:yanlunyao,项目名称:gateway,代码行数:61,代码来源:clientLogin.c
示例11: pam_multipass_authenticate
int pam_multipass_authenticate(json_object *hashes, const char *password)
{
int ret = PAM_AUTH_ERR;
json_object_object_foreach(hashes, name, obj) {
const char *hash = json_object_get_string(json_object_object_get(obj, "hash"));
if (hash == NULL) {
fprintf(stderr, "pam_multipass: no hash defined for %s\n", name);
}
ret = check_password(password, hash);
if (ret == 0) break;
}
return ret;
}
开发者ID:ato,项目名称:pam_multipass,代码行数:13,代码来源:pam_multipass.c
示例12: main
int main(){
char buf[BUFSIZE];
// Read until newline
fwrite("Enter the secret password: ", 27, 1, stdout);
fflush(stdout);
fgets(buf,BUFSIZE,stdin);
buf[strlen(buf)-1]=0;
if(check_password(buf)){
printf("Yay, your token is: %s\n", TOKEN);
} else {
printf("Wrong password!\n");
}
return 0;
}
开发者ID:hawken93,项目名称:tg14hack,代码行数:14,代码来源:main.c
示例13: work
void work(int newsockfd, struct sockaddr_in cli_addr) {
if (newsockfd < 0) {
FM_LOG_WARNING("ERROR on accept");
return;
}
FM_LOG_NOTICE("connect from %s:%d", inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port));
char buffer[BUFF_SIZE];
bzero(buffer, BUFF_SIZE);
ssize_t n = read(newsockfd, buffer, BUFF_SIZE);
if (n < 0) FM_LOG_WARNING("ERROR reading from socket");
FM_LOG_NOTICE("Here is the password: %s", buffer);
if (check_password(oj_config.password, buffer)) {
FM_LOG_DEBUG("Authentication Ok.");
n = write(newsockfd, "Authentication Ok.", 18);
if (n < 0) FM_LOG_WARNING("ERROR writing to socket");
bzero(buffer, BUFF_SIZE);
n = read(newsockfd, buffer, BUFF_SIZE);
if (n <= 0) {
FM_LOG_WARNING("ERROR reading from socket");
close(newsockfd);
return;
}
FM_LOG_NOTICE("Here is the message: %s(%d)", buffer, n);
oj_solution_t oj_solution{};
if (parse_arguments(buffer, oj_solution) < 0) {
FM_LOG_WARNING("Missing some parameters.");
n = write(newsockfd, "Missing some parameters.", 24);
if (n < 0) FM_LOG_WARNING("ERROR writing to socket");
close(newsockfd);
return;
} else {
n = write(newsockfd, "I got your request.", 19);
if (n < 0) FM_LOG_WARNING("ERROR writing to socket");
close(newsockfd);
ProcessQueue.push(oj_solution);
return;
}
} else {
FM_LOG_WARNING("Authentication Failed.");
n = write(newsockfd, "Authentication Failed.", 22);
if (n < 0) FM_LOG_WARNING("ERROR writing to socket");
}
close(newsockfd);
}
开发者ID:w703710691d,项目名称:PowerJudge,代码行数:49,代码来源:judged.cpp
示例14: do_password
void
do_password(dbref player, const char *old, const char *newobj)
{
if (!check_password(player, old))
{
notify(player, "Sorry");
}
else if (!ok_password(newobj))
{
notify(player, "Bad new password.");
} else {
set_password(player, newobj);
notify(player, "Password changed.");
}
}
开发者ID:TealWizard,项目名称:TinyMUCK-Tapestries,代码行数:15,代码来源:player.c
示例15: main
int main(void) {
int pass = 0;
printf("Enter the pin: ");
pass = check_password();
if (!pass) {
puts("Access denied");
return 1;
}
/* now give root privelege */
puts("Correct pin! You are the root!");
puts("Let do something fun!");
return 0;
}
开发者ID:floydbe,项目名称:dada,代码行数:16,代码来源:check_passwd2.c
示例16: cgiMain
int cgiMain() {
int sensor_num,sensor_idx;
int i,j,k;
char name[81];
light_sensor *p_sensor ;
cgiFormInteger("sensor_num", &sensor_num, 0);
if(sensor_num > 100) sensor_num = 100;
cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat");
cgiHeaderContentType("text/html");
OutHead();
OutBodyStart();
if(0 == check_password())
return 0;
if(0 == sensor_num)
{
fprintf(cgiOut, "<p>数据出错,退出!!</p>\n");
OutBodyEnd();
return 0;
}
else
{
pwsw_h.sensor_num= sensor_num;
for(i=0;i<sensor_num;i++)
{
p_sensor = &pwsw_h.sensor[i];
p_sensor->lux = get_lux(i+1);
p_sensor->voltage = get_voltage(i+1);
}
}
save_to_xml_file();
fprintf(cgiOut, "<p>保存成功,请返回!</p>\n");
fprintf(cgiOut, " <input type=\"button\" name=\"rest\" onclick=\"javascript:history.go(-1)\" value=\"重新载入\" />\n");
OutBodyEnd();
return 0;
}
开发者ID:cookie114,项目名称:boa,代码行数:45,代码来源:light_step2.c
示例17: auth_flatfile_new_user_pass
/* auth_flatfile_new_user_pass:
* Attempt to authenticate user and pass using an alternate passwd file,
* as configured at compile-time. This is a virtual-domains authenticator. */
authcontext auth_flatfile_new_user_pass(const char *user, const char *local_part, const char *domain, const char *pass, const char *clienthost /* unused */, const char *serverhost /* unused */) {
authcontext a = NULL;
char *pwhash, *who;
if (!local_part) return NULL;
who = username_string(user, local_part, domain);
pwhash = read_user_passwd(local_part, domain);
if (pwhash) {
if (check_password(who, pwhash, pass, "{crypt}"))
a = authcontext_new(virtual_uid, virtual_gid, NULL, NULL, NULL);
else
log_print(LOG_ERR, _("auth_flatfile_new_user_pass: failed login for %s"), who);
}
return a;
}
开发者ID:colinmkeith,项目名称:tpop3d,代码行数:21,代码来源:auth_flatfile.c
示例18: main
int main(int argc, char* argv[]){
if(argc<2){
printf("usage : %s [passcode]\n", argv[0]);
return 0;
}
if(strlen(argv[1]) != 20){
printf("passcode length should be 20 bytes\n");
return 0;
}
if(hashcode == check_password( argv[1] )){
system("/bin/cat flag");
return 0;
}
else
printf("wrong passcode.\n");
return 0;
}
开发者ID:ebtaleb,项目名称:pwnable,代码行数:18,代码来源:col.c
示例19: do_password
void
do_password(dbref player, const char *old, const char *newobj)
{
if (Guest(player)) {
anotify_fmt(player, CFAIL "%s", tp_noguest_mesg);
return;
}
if (!check_password(player, old)) {
anotify_nolisten2(player,
CFAIL "Syntax: @password <oldpass>=<newpass>");
} else if (!ok_password(newobj)) {
anotify_nolisten2(player, CFAIL "Bad new password.");
} else {
set_password(player, newobj);
anotify_nolisten2(player, CFAIL "Password changed.");
}
}
开发者ID:CyberLeo,项目名称:zetamuck,代码行数:19,代码来源:player.c
示例20: myencrypt
static const char *ircservices_crypt_string(const char *key, const char *salt)
{
static char output[PASSMAX];
if (salt[0] == '$' && salt[1] == '1') /* this is a new pw XXX */
{
myencrypt(key, strlen(key), output, PASSMAX);
return output;
}
else
{
if (check_password(key, salt))
return salt;
else
{
output[0] = '\0';
return output;
}
}
}
开发者ID:Acidburn0zzz,项目名称:atheme,代码行数:19,代码来源:ircservices.c
注:本文中的check_password函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论