• 締切済み

mcryptで英数字(12未満)のみにする方法

osamuyの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

英字大小+数字=56種が12文字で、71.45ビットを表現できるから、ブロック長が64ビットの暗号を使えばよいかと。 www.php.netのMCryptリファレンスに使用例がありますので、そちらを読んでみては。 ただ、本来の目的が http://okwave.jp/qa/q7476282.html > ユーザーIDが1~10000まであるとするとそれぞれのIDを8文字の英数字に暗号化したくなった場合 ――にあるのだとしたら、そもそもユーザIDを暗号化する必然性がないし、暗号化するならば英数12文字以下なんて制約をつけるのはちょっとアレかもと思えたり。

people900
質問者

お礼

回答ありがとうございます。 ユーザーIDを暗号化する必然性は状況次第であり得ます。 理由はここでは割愛します。

関連するQ&A

  • 暗号化文字列を英数字のみにしたい

    文字列をJavaで暗号化してURLのクエリストリングに付加したいのですが、「=」「+」等の記号が含まれるとURLエンコーディングしないといけません。 こちらの都合上それを防ぎたいので、暗号化後の文字列を半角英数字のみで構成されるようにしたいのです。 いい案があればご教授ください。 尚、現在はアルゴリズムBlowfishで暗号化したバイト配列をBase64方式にてエンコードしています。 それですと記号が含まれてしまいます。

    • ベストアンサー
    • Java
  • 数字を8文字の英数字にハッシュ化

    例えば会員制のサイトの会員数が10000で ユーザーIDが1~10000まであるとすると それぞれのIDを8文字の英数字に暗号化したくなった場合、どの関数を使用すれば良いでしょうか? md5だと復号化できないし長すぎるので、 復号化でき文字数も指定できる方法を、ご教示いただけると幸いです。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 半角英数字を大文字に変換する方法、初心者です。

    HPの設定の過程で英数字の小文字と大文字で出来たパスワードを入れるようになってます。 半角小文字はキーボード左上の「半角/全角 漢字」を押せば入ってると思うんですが (注:記号を打ち込んでも***の記号で表示されるため分からないのです) 英数字を半角大文字に変換するのはどのようにしたらよいのでしょうか? 打ち込んで記号、英数字を表示されるのであれば出来るんですが…  質問の内容が少し分かりづらいかもしれませんが宜しくお願いします。

  • 全角文字列から英数字のみ抜き出す方法は?

    Perl 文字コード sjis 以下のように、全角文字列の中から、全角英数字のみを抜き出したいのですが、良い方法はありますでしょうか。 あア亜ABC-123 ↓ ABC-123 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • なぜ英数字を半角にする人が多いのか?(なぜ英数字以外の記号は半角にしないのか?)

    ネット上を見てると、英数字……取り分け数字は、 どんな場合でも(1桁でも2桁でも関係なく)半角にしている人が多いように思えます。 これはなぜでしょうか? 「それは昔からの決まりだから。」と聞いたことがあるのですが、 そういう人の中には、僕が思うに英数字を半角にしているだけで、 「!」「?」「#」「&」など、カタカナ以外の半角にできる記号を、半角にしていない人がいるんです。 これっておかしいと思います。 おそらく英数字を半角にするのが昔からの決まりだったのは、 昔のパソコンを使っていた人の多くが1バイト文字を使っていたからでしょうし……。 それなら、カタカナは別として、英数字だけでなく、他のすべての記号を半角入力するべきだと思います。 英数字だけ半角なんて、絶対中途半端だし、変です。 「英数字だけ半角にするのに、他の記号は半角にしない理由。」 回答お待ちしております。

  • 英数字を並べて大きな英数字を表す(アスキーアートの様な)

    タイトルの通り、大きな文字で表したい英数字そのものを並べて 大きな英数字を表す事をなんて呼ぶのでしょうか? これも「アスキーアート」と呼ぶのでしょうか? 例えば、英字の「E」を大きな「E」で表したい時 EEEEEEEEEEEE EE EEEEEEEEEEEE EE EEEEEEEEEEEE 「H」の場合 HH        HH HH        HH HH        HH HHHHHHHHHHHH HH        HH HH        HH HH        HH の様に、そのものの英字を使ってそのものの英字を大きく 見せる、というもの。 詳しい情報、Webページをご存知の方、お教え願います。 英数字(大文字小文字に数字 26*2+10=62文字文)全てを 集めたいと思っています。「#」や「%」の様な記号もあれば ベストなんですが。 1つ1つこつこつと作れない事もないのですが、簡単に収集 できればと思ったのですが、何せまず呼び名も名称も分からない ので、検索するのもあぐねている状態で。 よろしくお願いします。

  • 英数字と記号の正規表現

    英数字と記号の文字であればtrueを返すような判定を正規表現で行いたいです。 英数字の判定([0-9a-zA-Z])、記号([\\p{Punct}]+)の判定は個別にテストして動作したのですが、二つを組み合わせて書くようにするにはどのようにすればよいのでしょうか? 当然ですが、以下のように書くと文字列の全てがそれぞれ記号なのか、英数字なのかを判定してしまうためfalseを返してしまいます。 String str = "~!@#$%^&*()_+{}|:"<>?`-=[]\;',./1234567890abcdefgxyz"; System.out.println(str.matches("[\\p{Punct}]+") || str.matches("[0-9a-zA-Z]+")); 以上、宜しくお願いします。

    • ベストアンサー
    • Java
  • phpのコードで暗号化された文字列を得る方法

    WordPressの無料で配布されているテンプレートの footer.phpにはこのようなコードが書かれています。 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ <? eval(gzinflate(base64_decode('暗号化された文字列'))); ?> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 文字列には英数字が沢山並んでいますが、これを暗号化される前の状態にしたいです。 どうすれば良いでしょうかご教示お願いします。

    • 締切済み
    • PHP
  • 暗号化・復号化のアルゴリズムにはどんなものがありますか?

    Cでプログラミングを勉強しており、20文字ほどの文字列を暗号化・復号化するプログラムを考えていますが、ネットを検索しても暗号化アルゴリズムでなかなかいいものが見つかりません。 私のリクエストとしては ・暗号化対象は半角英数字、半角記号のみ。 ・単に文字コードを1つずつずらしたような簡単な暗号ではなく、複雑なアルゴリズムを使用したい。 ・アルゴリズムは複雑でもプログラムは簡潔にできるものがいい。(長くても数百行程度)。 ・アルゴリズム自体の仕様が公開されている。 ・アルゴリズムは数学式で表せるものがいい。 ・スーパーコンピュータを使わなければ解けないほど時間がかかる暗号化アルゴリズムでなくてもいい。 ・暗号化のライブラリファイルは使わず、自前で全部コードを書きたい。 ・公開鍵や秘密鍵を使わなくてもいい。 上記の条件を満たす暗号化アルゴリズムでいいものがありましたら、教えてください。 以上、よろしくお願いします。

  • 全角英数字のみ半角英数字にするには。

    VisualC++6.00 を使用しています。 ダイアログのエディットボックスで入力された文字を、 全角英数字のみ半角英数字にしたいのですが、 LCMapString だと、カタカナも半角になってしまいます。 英数字のみ半角にするには、どのようにすればいいでしょうか。 よろしくお願いします。