質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

1回答

184閲覧

アルゴリズム 変動する値の復元と復号について

earnest_gay

総合スコア615

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

0クリップ

投稿2018/04/09 06:09

ある場所(A)で、「とある文字列」から、とある条件で作られた任意の文字列を、
別の場所(B)で、復元し「とある文字列」を割り出す仕組みを作りたい。

(例)
プログラムA側で、)N(#E”# hd2e という文字列からとある条件で、8yzb89e+7e9 という文字列を生成したとする。
プログラムBには、8yzb89e+7e9 が渡される。
このプログラムBは何かしらの方法で 8yzb89e+7e9 から )N(#E”# hd2e に復元する必要がある。

尚、生成される 8yzb89e+7e9 は例であり、毎回異なる文字列が生成されるものとする。

内部APIの仕組みを作ろうとしています。
ajax通信でapi接続をするのですが、urlを知っていたら誰でもアクセスできるのはNGです。

かといってapi側で「固定の文字列」をチェックしてしまうと
ブラウザのソースを見るで解析されてしまう危険もあります。

なので、サーバー側でロジックを持たせて、「毎回変動する文字列」の復号と復元ができれば
ブラウザのソースを見るで解析されてしまう危険性はなくなると思います。

作って気づいたのですが、これではそもそもどんな文字列をどんな条件で作ったのかが不明なため復元できないのです。

public function _make_random_strings() { $collectionA = array_rand(array_flip(range('a', 'z')), 16); $collectionB = array_rand(array_flip(range('A', 'Z')), 16); $collectionC = array_rand(array_flip(range(0, 9)), 9 ); $collectionD = array_rand(array_flip(['!','$','%','&','(',')','*','+','/']), 9); $random_strings = array_merge($collectionA,$collectionB,$collectionC,$collectionD); return str_shuffle(implode($random_strings)); }

ロジックで詰まっていますが、こういう場合はどうすればよいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

公開暗号鍵、でぐぐればしあわせになれる、かな?

投稿2018/04/09 06:11

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問