179
68

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

クソアプリ2Advent Calendar 2019

Day 10

ハッシュ関数で伏せ字するサービス

Last updated at Posted at 2019-12-09

はじめに

伏せ字をするとき、「わかる人にはわかるだろうけど、間違われるのは困るな…」ということ、ありませんか?

「それって、〇〇社ですよね」みたいなリプライが来て、しかも全然違う答えだったりすると、風評被害だし迷惑ですよね。でも「残念、ハズレです」なんて一々送っていたら、さらに的外れなリプライが付くことは目に見えています。

「わかる人にだけわかればいいし、答え合わせは自分たちでやってくれ…!!」という人に便利なのが、この「Hashtter(はしゅったー)」です。

Hashtter(はしゅったー)
https://splamp.info/shed/hashtter/

使い方

screenshot.png

上の部分に文章を入力し、ハッシュ化したい部分を[角括弧]で囲みます。
ハッシュ関数をmd5sha1sha256から選び、「はしゅる」ボタンを押すと変換できます。

はしゅられた文字の答えにピンと来たら、Hashtterを使ってハッシュ値を調べてみましょう。一致していればそれが答えです。黙ってましょう。

作った経緯

こちらのツイートを見て作りたくなったので作りました。直接ツイートしてないからバレてもセーフ!!多分!!

技術的な話

JavaScriptではハッシュ関数を使えないので、PHPを使って変換しています。

if($_POST['text'] != '' && $_POST['algo'] != '')
{
	$text = $_POST['text'];
	$algo = $_POST['algo'];
	if(!in_array($algo, ['md5', 'sha1', 'sha256'], true)) {
		$algo = 'sha1';
	}
	$text = preg_replace_callback(
		'/(\[(.+?)\])/',
		function($matches) use($algo){
			return hash($algo, $matches[2]);
		},
		$text
	);
	echo nl2br(htmlspecialchars($text, ENT_QUOTES));
	echo '<div style="text-align: right"><a href="https://twitter.com/intent/tweet?text='.urlencode($text . "\n#hashtter https://splamp.info/shed/hashtter/").'" target="_blank" class="tweet">ツイート</a></div>';
	return;
}

大体こんな感じです。この項書かないと投稿できない

さいごに

これを使えばエゴサで有名な b475a8bedbfc784d3c1f12fb33e1e9c2f76d0695 大臣にもバレない!ありがとうございました。

179
68
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
179
68

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?