• ベストアンサー

CGIで暗号化複合化

今、Pealで簡単な暗号化ソフトを作ろうと思うのですが、 うまくいきません。 (文字コードを-1にして、aをbにするような) C言語であると、本文を配列にでもいれて、 それぞれ-1するとなるのですが、 pealの場合同じようにしてもなりません。 文字列の文字コードを-1にする場合、 pealではどのような計算で変数に 代入してやればすればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.1

C で result = 'a' - 1; と書くところは、Perlでは以下の様に書きます。 $result = chr(ord("a") - 1); または $result = pack("C", (unpack("C", "a") + 1);

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • char型のポインタ配列に変数の値の代入できる?

    c言語でchar型のポインタ配列に変数の値を代入できるのでしょうか? 例えば int A[10]={1,2,3,4,5,6,7,8,9,10}; char *C[10]; のCに配列Aの中のデータを文字列として入れたいのです。 C[0]="A[0]"としてもA[0]という文字列が代入されてしまうだけなので… よろしくお願いします。

  • PowerShellの暗号化&複合化

    お世話になります。 タイトルにありますように、PowerShellでパスワード文字列の暗号化と、 暗号化された文字列を元の文字列に戻し、変数に持つ、という事をしたいのです。 此方のサイトを見つけまして、 http://technet.microsoft.com/ja-jp/windows/ps_tips13.aspx 真似る事で、テキストファイル内に暗号化されたパスワードを作成することが出来ました。 しかし、テキスト内に記録された文字列を、どうやって元に戻し、使うのでしょうか。 この方法は証明書を使うものでも、公開鍵を使うものでもない、 実に単純なものに思えるのですが元に戻す方法が判りません。 どうかご教授頂けますでしょうか。よろしくおねがいします。

  • プログラミング シーザー暗号 複合化 C言語

    プログラミング シーザー暗号 複合化 Linux C言語 シーザー暗号を複合化するプログラムを教えてください! 大文字と小文字が混合の文字列で3つずらして複合化したいです 文字数が28字などでは収まらないくらいあります それをふまえたプログラムを教えてください よろしくお願いします

  • 白黒画素の暗号化について

    現在、C言語で秘密分散の研究をしています。 質問が2つあるのですが、白画素、黒画素の暗号化は それぞれ配列を使うのでしょうか? また、白を0、黒を1と認識させるプログラムコードは存在しますか? 一応完成品はC言語でウィンドウ画面の中に砂嵐の画像が表示され、 HITという3文字が浮かび上がるプログラムです。

  • Perl あっていますでしょうか?

    " " と ' ' の相違は? ""の内にある変数名は、その値に変換されます。 ''の内にあるものは、そのまま文字列として扱われます。 エスケープシーケンスは "" の内に記述した場合のみです。 $a="Hello"; 文字列Helloを変数$aに代入する。 $b="$a"; 変数$aを変数$bに代入する。 $c='$a'; $aという文字列を変数$cに代入する。 ""の内で""を使うことは出来ません。 ''の内で''も使うことは出来ません。 使うときはエスケープシーケンスを使います。 print "\"Hello\"\n"; 文字列"Hello"を表示させます。 print "'Hello'"; 'Hello'を表示させます。 ""の内で''又は''の内で""を使うことは出来ます。 $a="あいうえお"; 文字列 あいうえお を変数$aに代入する。 print "\n$a\n"; 改行して あいうえお表示して 改行する。 print '\n$a'; 文字列\n$aを表示する。 文字列の結合 . (ピリオド)を使って前後の文字列を連結することが可能です。 $a="Hello"." "."World"; 変数$aに文字列Helloと半角スペースとWorldをつないだものを代入します。 $a="c"x3; 変数$aに文字cを3回つないだものを代入します。 $a="A"; 文字Aを変数$aに代入する。 $b="B"; 文字Bを変数$bに代入する。 $c="C"; 文字Cを変数$cに代入する。 print $a.$bx3.$c; 文字Aと文字Bを3回結合したものと文字Cを表示する。 画面にはabbbcと表示されます。

    • ベストアンサー
    • Perl
  • VBで暗号化した文字列をJavaで複合化することは可能でしょうか。

    VBで暗号化した文字列をJavaで複合化することは可能でしょうか。 (異なる言語間での暗号化/複合化は不可能でしょうか。) 現在考えているのは、BlowFishで暗号化し、BASE64でエンコードしたリクエストを送信し、 Java側でBASE64でデコードし、BlowFishで複合化することを考えています。 VBとJavaで同じ文字列を暗号化して比較してみたところ、一致しませんでした。

  • java(1.4) 暗号化

    暗号化鍵が16byteの文字列ではなく 各byte10進数で表現された鍵を利用してAESの暗号化を実装する場合、 鍵はどう変換させて文字列に変えればいいでしょうか。 また、変える必要はなくそのまま利用するものなのでしょうか。 ネット上のサンプルを拝見しても、 全て鍵の文字列を利用してのサンプルであったため どのような考え方で実装できるのかかご教授宜しくお願いします。 参考URL:http://www.masatom.in/pukiwiki/Java/%B0%C5%B9%E6%B2%BD/

    • ベストアンサー
    • Java
  • C側で得た変数をC++の変数に流し込みたいです。

    C側で得た変数をC++の変数に流し込みたいです。 現在、C++で 次のように、 入力ストリームから1行分の文字列を読み込んで、 読み込んだ文字列を「cmd」に流し込んだ際に、 cmdに代入された文字列が「get」であると、 他のファイルで定義されている「doget」という関数が 実行されるようになっています。 ----------- std::string cmd; std::getline(cin, cmd); void nod::execute(const std::string& cmd) { std::stringstream ss(cmd); std::string command; ss >> command; if (command == "get") { std::string key = "baseball" ; std::string val = stand.doget(key); } } ----------- これを、 以下のように、 (1) C言語側にある「a」という変数にある値を C++側のkeyに流しこんで、 (2) また、C側にあるsign配列内の文字列を C++側の「cmd」に代入したいと思っています。 C側 --------- /* C側の「a」配列の値を、上記C++側の「key」に代入したい */ char a[] = "www.gehohogetest.jp"; /* 上記C++側の「cmd」変数に、C側の配列で定義されている"get"という文字列を代入したい */ char sign[]= "get"; --------- その場合、C側とC+側をどう記述すれば、 希望を叶えることが出来るでしょうか。 アドバイスいただけるとありがたいです。 以上どうぞ宜しくお願い致します。

  • c言語 暗号化のプログラム

    大文字アルファベットの文字列を暗号化するプログラムを作りたいのですが、どうやったら暗号化するのかわかりません。 暗号化は文字をずらして行います。 ABC→BDF Aは1文字目なので一文字ずらしてB Bは2文字目なので二文字ずらしてD Cは3文字目なので三文字ずらしてF わからないのは文字のをどうやってずらすのかです。 ヒントだけでもいいので・・・

  • 暗号化の計算式

    cryptの暗号化についてなのですが同じ特定の文字列を暗号化させても 毎回違う結果になりますがどのような計算式でこのような結果になる のかわかりやすく教えて下さい。 また、他にも様々な暗号化の方法があると思いますが毎回結果が異なる 暗号化方法の計算式もあったら教えて下さい。 よろしくおねがいします。