ひよっこ blog

ゲーム制作について、作ったものや思ったことをつらつら書いていく予定

base64での日本語変換

作りかけのゲームWhiteWordは、パスワード入力を求めているのだが、HTMLなのでソース見てすぐにパスワードがばれちゃうのはさすがに良くないかなと思い、

base64を使うことにした。(そもそも暗号として使うものじゃないので、普通に誰でももとに戻せますけどね)

 

■【JavaScript】window.btoa(‘日本語’) する

https://www.softel.co.jp/blogs/tech/archives/4133

 

結果として上記のサイトを発見して解決したが、いろいろ文字列の変換を調べてみると、外部ライブラリを使わずに、日本語を変換する方法がなかなか見つからない。

 

そもそもプログラマではない人間が調べるときに何が困るかというと、調べたいことがどういう単語で検索すると出てくるかが分からないことだ……

 

javascript部分

パスワード部分(p=)とURL部分(url =)がごちゃごちゃして、一見するだけではパスワードが分からなくなりました。

<script language="javascript">
i=0;
function Check01(){
url =decodeURIComponent(escape(window.atob('Z3JlZW5kb29yL2dyZWVuX3Jvb20uaHRtbA==')));
i++;
p=decodeURIComponent(escape(window.atob('NTY=')));
wo=document.PA01.pass.value;
if(wo==p){location.href=url;}
else{
alert("パスワードが違います");
document.PA01.pass.value="";
if(i>=3){location.href="guestroom.html";}
}
}

</script>

 

■HTML部分

<FORM NAME="PA01">
緑:
<INPUT style="color:#ffffff;" type="text" name="pass" size="13">
<INPUT type="button" value=" 決定 " onClick="Check01()">