必要があってパスワードの認証をする必要がでてきました。パスワードはデータベースに保存されるのですが、データベースを見られてパスワードがばれるのは避けたいので、一種の暗号化関数のようなもので文字列を変換してからデータベースに格納し、パスワードの照合もこの関数で変換して行えばいいのではないかと考えております。こういう関数の例はどこかにないでしょうか? 関数のソースからアルゴリズムが知られ、返還後の文字列が知られても、逆変換でパスワードを得るのが実用的な時間で計算するのが困難であればよいと思います。ただ、本当の暗号のような多桁の掛算のような複雑なことはやらないですましたいと思っております。せいぜい64ビットの掛算ですめばベストです。悪くとも128ビットの掛算ですましたいです。よいアルゴリズムはないでしょうか?
No.1ベストアンサー
- 回答日時:
crypt()は使える環境なのでしょうか?systemに用意されてなくても、linuxや*BSDから移植するのは可能でしょう。
crypt()さえ使えれば、
#include <stdio.h>
#include <string.h>
char *crypt(const char *key, const char *salt);
int main(void) {
char buf[80];
char pass[80];
printf("input passwd: ");
fgets(buf,80,stdin);
strcpy(pass, crypt(buf, "ab"));
printf("crypt = %s\n", pass);
printf("input passwd: ");
fgets(buf,80,stdin);
if (strcmp(pass, crypt(buf, "ab")) == 0) {
printf("OK\n");
}
else {
printf("NG\n");
}
return (0);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 英数字を含む文字列(0-9,A-Z)の桁数圧縮をするには 5 2022/06/28 18:15
- Windows 10 windowsの起動パスワードについて 1 2022/08/15 10:19
- その他(セキュリティ) googleのパスワード変更について 4 2022/05/02 14:22
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- その他(IT・Webサービス) パスワードの組み合わせについて 2 2023/07/05 00:01
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Wi-Fi・無線LAN ルーターの暗号化キーはなぜ初期値から変更するの? 2 2022/08/11 16:28
- iPhone(アイフォーン) iPhoneの自動変換について。 先程、銀行のオンラインサイトにログインしようとしたら、予測変換の上 3 2022/07/29 09:08
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
【C言語】テキストファイル内の...
-
配列をnビットシフトする
-
str系関数を使わずに二つの文字...
-
文字列から空白を取り除きたい...
-
c言語の文字列の逆順のプログラ...
-
間接操作のレベルとは
-
c言語です。
-
charでの計算?
-
VC++でコンパイルエラーが出ま...
-
型変換
-
CStringをwchar_tに変換したい
-
C言語のfor文です。 繰り返しの...
-
ネットワークにつながっている...
-
double型の値をchar配列に変換...
-
strlen関数と同じ働きをする関...
-
C言語のポインターで詰まっている
-
C言語で、入力された、文字列を...
-
制御の方法
-
c言語でソーベルフィルタが作り...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
charでの計算?
-
C言語のfor文です。 繰り返しの...
-
charからLPTSTRへの変換方法
-
文字列から空白を取り除きたい...
-
C言語の入力した文字を反転させ...
-
'const char *' 型は 'char *' ...
-
配列をnビットシフトする
-
str系関数を使わずに二つの文字...
-
int main()の・・・
-
atoi( ) の反対をやりたい
-
c++ 文字列を入力して、一文字...
-
CStringをwchar_tに変換したい
-
switch文で文字を比較すること...
-
干支のプログラム
-
絶対パスからのファイル名の切...
-
3桁区切(コンマ)記号をつけ...
-
間接操作のレベルとは
-
間接参照のレベルが異なっています
-
【C言語】文字型と整数型の違い
おすすめ情報