С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual FoxPro
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
2 / 2 / 0
Регистрация: 22.03.2010
Сообщений: 146

создание пароля

23.02.2012, 01:27. Показов 3892. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите есть ли что-нибудь похожее на IF (как в с++ например) функция в VFP?
Или подскажите как реализовать проверку пароля пользователя/админа.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.02.2012, 01:27
Ответы с готовыми решениями:

Создание пароля
Здраствуйте, пожалуйста помогите решить задачу - очень надо.Знаю часто такое говорят, но мне это поможет пойти с девушкой на свидание. ...

Создание пароля
Помогите пожалуйста сделать парольна форме. Из ComboBox выбирается: администратор или пользователь. Они имеют разные пароли. при...

Создание пароля
Помогите написать программу, чтобы все работало и кнопка создавала пароль, удовлетворяющий условиям: Длина пароля - 11 символов b1,...

3
 Аватар для Redglow
107 / 107 / 0
Регистрация: 06.05.2011
Сообщений: 277
23.02.2012, 11:36
Ога, типа в ветке фокспро все должны в совершенстве знать С++ ?
В фоксе нет встроенных криптографических функций, тем не менее, есть масса способов это реализовать.
1. Если программа не шифрует чего-то супер-пупер секретного, то для простейшего шифрования "на лоха" вполне подходит
Code
1
SYS(2007, ALLTRIM(mylogin)+ALLTRIM(mypassword))
которая возвращает контрольную сумму строки

2. Если нужно что-то более серьезное, для начала посмотрите пример в папке фоскпро ...Microsoft Visual FoxPro 9\Samples\Solution\FFC\Crypto.scx

3. Можно воспользоваться WinAPI. Для шифрования это будет
Code
1
2
3
4
5
6
7
8
DECLARE INTEGER CryptEncrypt IN advapi32;
    INTEGER hKey,;
    INTEGER hHash,;
    INTEGER Final,;
    LONG dwFlags,;
    STRING @pbData,;
    LONG @pdwDataLen,;
    LONG dwBufLen
для расшифровки, соответственно
Code
1
2
3
4
5
6
7
DECLARE INTEGER CryptDecrypt IN advapi32;
    INTEGER hKey,;
    INTEGER hHash,;
    INTEGER Final,;
    LONG dwFlags,;
    STRING @pbData,;
    LONG @pdwDataLen
4. Можно воспользоваться готовыми сторонними криптографическими библиотеками. Например, CAPICOM.
Пример использования:
Code
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
* capicom.prg
#include CapiCom.h
 
* Шифровка данных
oCAPI = CREATEOBJECT('CAPICOM.EncryptedData')
 
oCAPI.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_RC4
oCAPI.Algorithm.KeyLength = CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
 
*atr = CREATEOBJECT('CAPICOM.Attribute')
 
oCAPI.Content = "Test Data for encrypting"
oCAPI.setsecret("MyPassword")
cEncData = oCAPI.encrypt()
 
release oCAPI
? cEncData 
 
* Дешифровка данных
*
oCAPI = CREATEOBJECT('CAPICOM.EncryptedData')
oCAPI.setsecret("MyPassword")
oCAPI.decrypt(cEncData)
? oCAPI.Content
 
 
* capicom.h
*Константы для Algorithm.Name
#define CAPICOM_ENCRYPTION_ALGORITHM_RC2  0   && Use RSA RC2 encryption. 
#define CAPICOM_ENCRYPTION_ALGORITHM_RC4  1   && Use RSA RC4 encryption. 
#define CAPICOM_ENCRYPTION_ALGORITHM_DES  2   && Use DES encryption. 
#define CAPICOM_ENCRYPTION_ALGORITHM_3DES 3   && Use triple DES encryption. 
#define CAPICOM_ENCRYPTION_ALGORITHM_AES  4   && Use AES algorithm. (CAPICOM v2.0)
 
*Константы для Algorithm.KeyLength 
#define CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM   0 
#define CAPICOM_ENCRYPTION_KEY_LENGTH_40_BITS   1 
#define CAPICOM_ENCRYPTION_KEY_LENGTH_56_BITS   2 
#define CAPICOM_ENCRYPTION_KEY_LENGTH_128_BITS  3 
#define CAPICOM_ENCRYPTION_KEY_LENGTH_192_BITS  4   && (CAPICOM v2.0)
#define CAPICOM_ENCRYPTION_KEY_LENGTH_256_BITS  5   && (CAPICOM v2.0)


5. На практике большинство изобретают свои собственные алгоритмы шифрования или вносят изменения в в существующие. Да, они обычно менее стойки, чем RSA, Bloufish или SHA-2 и основаны на примитивном побитовом сдвиге или же XOR с неким ключом или вычислении значения хеша по некоторой самописной функции, но этого обычно хватает для абсолютного большинства ситуаций. Естественно, алгоритмы собственных функций здесь раскрывать никто не будет.
1
2 / 2 / 0
Регистрация: 22.03.2010
Сообщений: 146
26.02.2012, 00:07  [ТС]
спасибо большое. но не могли бы про первый вариант немного поподробнее. где мне и как сохранить пароль. и как его сравнивать с введеным?
0
 Аватар для Redglow
107 / 107 / 0
Регистрация: 06.05.2011
Сообщений: 277
26.02.2012, 13:26
А что, собственно, непонятно?
Контрольная сумма - это простейший аналог хеша.
Создаём таблицу пользователей, которая наполняется из формы администрирования.
Code
1
2
CREATE TABLE UserList (Id I Autoinc, UserName C(20), Pwd I)
INSERT INTO UserList (UserName, Pwd) VALUES ("Пупкин", VAL(SYS(2007, "Пупкин"+"12345")))
Для авторизации рисуется отдельная форма с двумя текстбоксами или листбоксом и текстбоксом, не суть важно. В Click() кнопки авторизации получаем контрольную сумму и сравниваем её со значением из таблицы:
Code
1
2
3
4
5
6
7
8
9
10
LOCAL lnCheckSum
WITH ThisForm
    lnCheckSum = VAL(SYS(2007, ALLTRIM(.Combo1.Value)+ALLTRIM(.Text1.Value)))
    * исходим из того, что указатель уже находится на записи с выбранным пользователем
    IF lnCheckSum = UserList.Pwd
        * успешно
    ELSE
        * отказ в авторизации
    ENDIF
ENDWITH
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.02.2012, 13:26
Помогаю со студенческими работами здесь

Создание пароля
Суть такова:у меня есть image на который я поместил label-ы чтобы по нажатию определенной последовательности цифр происходил переход на...

Создание логина и пароля
Здравствуйте. Нужна помощь в создании логина и пароля. То есть чтобы выскакивала Form2 с просьбой ввести логин и пароль( уже я накидал туда...

Создание и изменение пароля
Имеется сценарий, позволяющий задать пароль администратору: <?php session_start();?> <html> <body> <form action=''...

Создание и изменение пароля
Всем привет. Есть форма для ввода и изменения пароля. Есть файл Data.ini, в нем хранится пароль. Подскажите пожалуйста как изменить...

Создание пароля на VBA
Помогите пожалуйста ,нужно написать код на VBA для базы данных Access. суть кода состоит в том что при запуске базы данных должно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru