FileMakerが使える・楽しく・学べるサンプルを紹介

ファイルメーカーで作成したサンプルを無料公開しています。ダウンロードして自由にカスタマイズしてご利用ください。

*

Filemaker内でパスワードを生成する方法!桁数や使用する文字も制限可能

      2015/01/12

パスワード生成画面ファイルメーカーの中でパスワードを生成する方法を紹介します。

ユーザーを管理システムで、
登録時に自動でパスワードを
付与する場面などで使えます。

デモファイルでは、
桁数固定の場合と、
桁数変更出来る場合とに分けて
説明します。

生成したパスワードを入れるフィールドを作成

用意するものは、生成したパスワードを入れるフィールドのみです。
フィールドタイプは、テキストタイプで作成します。
パスワード生成フィールド

パスワードを生成するスクリプトの説明

ファイルメーカーのサポートページに
ランダムにパスワードを生成する説明があります。

パスワードを生成するための計算式です。

使用する関数は、3つです。

Middle (テキスト; 先頭文字位置; 文字数)

指定位置から指定文字数を取り出します。
例では、1〜Zまでの文字(62)の中から、ランダムに1文字取得します。

Random

ランダム関数は、小数点以下第15位の数値を返します。
その数字に「62」から1を引いた数「61」を掛けます。
これで「0.」から「61.」までの数字が出来上がります。
このRandomを使って作成する数値は、
Middle関数で使う取り出す文字の位置になります。
+1になっているのは、指定位置が「1」以上が必要だからです。
「1.」から「62.」の範囲にするためです。

Round (数値; 桁数 )

指定行数で四捨五入します。
例では、Random関数で作成した数字の
小数点以下を四捨五入して、
「1」から「62」の整数にし、
文字の取り出す位置を決定します。

この計算式では、1文字だけランダムに取得するだけなので、
ループをさせて希望の桁数にします。
ループ中のifを使った条件分岐は、
1文字目は、まだ文字が何もないので1文字を変数にいれます。
2文字目以降は、先に入っている変数にどんどん桁数を足していきます。

7桁のパスワードを生成するスクリプト

計算スクリプト

実際に桁数をフィールドで指定してパスワードを生成するスクリプト

数字フィールドを作成します。
そのフィールドを先ほど「7」桁指定したところを
フィールド指定に変更します。

これで、フィールドで指定した桁数のパスワードを生成します。

より安全で分かりやすいパスワードを生成する方法

1からZまでの紛らわしい文字を省きます。
省く文字は、
「1」数字のいち、「l」小文字のエル、「I」大文字のアイ
「0」数字のゼロ、「o」小文字のオー、「O」大文字のオー
記号を追加します。
「/」スラッシュ、「*」アスタリスク「_」アンダーバー、「+」プラス、「-」ハイフン
一文字減ったので、計算式の61文字目を60文字目に変更しました。

この式を先ほどのスクリプトに組み込むと
より安全なパスワードを生成することが可能です。
強固で安全パスワード例

会員リストで新規ユーザー登録時に自動でパスワード生成し付与するひとつの方法

会員リストを作り、
新しい会員、つまり新規レコード作成したときに、
自動でパスワードを生成する方法の一つを紹介します。

先ほどのスクリプトで設定するフィールドを変更して使用します。
会員リスト用のフィールド(ID、名前、パスワード)を作成します。

タブ順設定し、
新規レコード作成したときは、
名前フィールドへ移動するようにします。

名前フィールドのスクリプトトリガ「OnObjectEnter」で、
パスワード生成のスクリプトを指定します。

名前フィールドがアクティブになると、
スクリプトが走りパスワードを生成します。
条件分岐で、
パスワードがすでにある場合は、
パスワードを生成しないようにします。

これで、新しいユーザーを登録時に
自動でパスワードが生成されるようになります。
会員にパスワードを付与

スクリプトトリガへ設定するスクリプトです。

桁数はループする回数を指定することで、自由設定可能です。

参照サイト

無料サンプルファイルがダウンロード出来ます

 - 役立つ備忘録, 無料で使えるサンプル , , ,

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 14 follow us in feedly

コメントを残す

  関連記事

複数のポータル移動
同じレコード内に複数のポータルがあるときの行移動

同じレイアウト内にポータルを複数貼り付けることがあります。 スクリプトを作成して …

結構良いサンプルが出来ました
リスト形式でアクティブな行にだけボタンやゴミ箱を表示する方法

前回は、ポータル内のアクティブな行にだけ、 ゴミ箱や詳細ボタンを表示する方法を紹 …

ソースの色付けイメージ
スクリプトに色付けや全文コピー出来る無料プラグインの紹介

htmlやCSS、プログラムで使うエディタでは、 色がついて見やすくなっています …

アクティブなポータル行完成イメージ
ポータル内のアクティブ行だけにボタンを表示する方法

ファイルメーカーで、ポータルの選択した行にだけに ボタンを表示する方法を紹介しま …

バイト数で文字の長さを制限
カスタム関数Leftbを使って指定のバイト数だけ文字を取り出す方法

FileMakerは、ウェブサイトや楽天やYahoo!ショップなどのネットショッ …

iphone_barcode
FileMaker Go iPhoneのカメラでバーコードを読み取る2つの方法

FileMaker Goでは iPhoneやiPadのカメラでバーコードを読み取 …

文字数を数える方法
文字数をリアルタイムに数える方法

ブログやサイトの記事を管理出来る システムを作ってみました。 その際に必要だった …

関連レコード総数
ポータル内の行数、関連レコード数を簡単に数える方法

ポータルの行数を取得したい場合に使う関数と計算式を紹介します。 「ポータルの行数 …

iPhone・iPadのデバイス判定
接続する端末をOSによって判定するスクリプトのまとめ

FileMakerのファイルを開いたとき、接続する端末によってレイアウトを切り替 …