UiPath SecureString型をString型に変換する方法

SecureString型とは?

突然SecireString型って言われてピンと来る方はいらっしゃいますか?Orchestratorを使用していない方だとあまり馴染みのないかもしれません。

一言で簡単に言うと、目に見えないString型です。パスワード入力とかによく使われます。
つまりちょっと特殊な変数で、SecureString型をそのまま文字列として使用することはできません。

ここで「文字を入力」アクティビティと比較してみましょう。下記図を見てみると、普通の「文字を入力」アクティビティとプロパティなどが似ていることがわかります。しかし、入力する変数の型が「scPassword」(SecureString型)になっていますよね。こういう違いがあります。

UiPath SecureString型をString型に変換する

詳しくは以下の記事をご覧ください。
UiPath > SecureString型変数の重要性について

SecureString型をString型に変換しては本末転倒だが

SecureString型は本来機密情報を扱うため、ローカルパネルにも表示されませんし、Orchestrator上でも簡単に閲覧することはできません。できないからSecure(機密な)String型なのです。

それをString型に変更したいケースは中にはあります。”したい”というよりも”しぶしぶ”に近いです。

  • Orchestrator未構築で作成したワークフローをOrhcestrator用に改修した時に全部SecureString型に変換するのが工数大幅にかかる場合
 
このパターンの場合、SecureString型をString型に変換することもあります。

SecureString型をString型に変換する

前置きが長くなりました。以下の図がSecureString型をString型に変換する代入アクティビティです。
ここでは2つの変数があって、ひとつがString型の「Password」、もうひとつがSecureString型の「scPassword」です。

UiPath SecureString型をString型に変換する

そしてまたまた代入アクティビティの右辺が見切れているのでコードを下に置いておきますね。

new System.Net.NetworkCredential(string.Empty,scPassword).Password

最後に

以上がSecureString型をString型に変換する方法でした。繰り返しになりますが、SecureString型をString型に変換するのはあまり望ましくありません。くれぐれも使用には注意してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

目次