►
From YouTube: .NET Core Design Reviews: Process and SecureString
Description
We'll review a proposal to update Process in order to remove SecureString
B
A
So
we
had
a
review
a
couple
of
weeks
ago
where
we
talked
about
secure
string
and
they
basically
want
to
remove
it,
and
there
were
some
challenges:
it's
pretty
beautiful
process.
What
that
means
for
process,
because
positive
exposes
that,
in
order
to
initiate
the
screen
that
may
actually
help
you
can
see.
A
On
the
left
hand
side,
it
basically
has
methods
that
take
a
secure
string
in
order
to
accept
the
password
and
there's
also
a
password
property
on
this
parcel
start
of
influence
you
can
just
set,
and
then
you
just
pass
it
into
you
I
think
some
overload
of
start
or
even
the
constructor
of
process
in
order
to
start
the
process
now
for
us
in
order
to
remove
the
secure
string
type
from
but
Nicole,
we
would
basically
have
to
either
completely
review
these
methods.
A
But
now
the
problem
is:
if
you
do
that,
then
there
is
no
way
for
users
to
actually
create
a
process
with
username
and
password
are
different
from
what
the
currently
user
running,
but
the
PA.
What
the
currently
running
user
is.
So
the
question
is:
what
do
we
do
like?
We
discussed
several
alternatives
and
I
think
the
right,
and
one
is
probably
what,
in
the
closest
one,
we
have
for
our
same
proposal
any
problem
ex.
Unless
this
a
bit
anybody
had
the
problem
that
the
trash
Pizza,
sometimes
crashes,
because
I
have
this
all
the
time.
B
C
A
Yes,
this
is
basically
we
would
add
these
methods,
you
don't
in
core,
then
order
to
preserve
compared
with
ghastly
would
also
have
to
add
those
methods
to
desktop
so
nest.
I
basically
know
you
would
have
you
would
see
start
methods
that
have
the
password
one
insecure
string
in
one
in
just
a
plain
string
and
then
for
this
one,
it's
a
bit
tricky
because
we
already
have
a
passel
property
here,
so
we
can't
have
another
pass
or
property
that
returns
the
strings.
We
have
to
come
up
with
a
new
name.
You
chose
plaintext
password.
A
Think
the
tricky
part
is
that
that
the
aesthetic
start
methods
are
not
the
same
as
the
instant
start
methods
right,
because
the
instance
ones
allow
you
to
do
more
things,
because
you
can
hook
up
events,
and
then
you
actually
do
that
which
you
can
be
aesthetic
ones.
So
the
static
ones
are
more
conveniences
and
if
you
need
more
power
than
you
have
to
base
in
you,
it
up
and
set
the
right
properties
up
front
before
you
start
the
process.
A
The
first
auction
was
only
expose
the
static
ones,
but
then
they
said
that
would
mean
that
certain
things
would
not
work
at
all,
because,
instead
of
one
son
of
all
the
scenarios
right,
second
one
is
just
have
a
new
set
of
static
methods
that
take
a
process
started
full
and
the
credentials.
It
still
doesn't
address
all
this
noise,
because
there's
still
other
things
you
would
have
to
deal
with
on
the
process
itself
right
like
exit
code
or
on
exited,
which
is
I,
think
the
event.
And
then
the
third
option
was.
D
We
think
the
username
a
password
is
advanced
enough
scenario
that
were
okay
with
people
only
making
it
on
the
instance
method,
so
that
such
that
Miss
static
ones
aren't
there.
You
still
get
all
the
behaviors,
you
can
still
do.
The
redirection-
and
you
just
accept
overloads
on
the
instance,
start
that
take
them
yeah.
That
would
be
Melissa.
B
C
A
It's
good
of
you,
but
it
society
a
different
twist
right,
because
I
think
the
instant
start
method
is
currently
only
one
which
is
basically
just
start.
I
think
your
charge
of
would
be.
We
would
say.
Yes,
you
have
to
set
up
the
start
info,
pass
it
to
the
process,
but
the
username
password
you
don't
actually
set
up
as
property.
Is
you
pass
them
as
arguments
to
the
start?
Is
the
reason
for
that
is
that
ice
and
I
think
we
discusses
as
on
email,
that
I
think
it
just
seems
wrong
to
have
a
clan
text
password.
A
There
is
a
property
of
a
type
that
kind
of
roots.
The
stray
technically
is
bit
fishy
because
you
know
the
thing
is
already
on
to
eat,
because
it's
a
string
but
I
would
still
argue
that
if
you
look
at
the
debugger
and
like
it
just
has
not
the
right
flavor
to
it,
you
could
at
least
imagine
that
you
know
make
start
just
takes
it
forwards
it
directly
in
a
string,
collection,
particular
so.
B
C
D
C
C
A
C
Yes,
the
only
reason
why
considered
static,
if
there's
no
sense,
is
because
you've,
basically
writing
six
new
lines
of
code.
If
all
you
care
about
is
starting
a
process,
but.
D
B
For
example,
I
I
see
one
problem
with
the
API.
The
parameter
is
called
password,
but
it
actually
corresponds
to
operate.
It
is
called
plaintext
password.
So
would
we
rename
these
parameters
to
plaintext,
password
and
I
would
say
that's
also
kind
of
wacky,
because
somebody
would
look
at
the
signature
of
the
method
in
isolation
like
when
did
they
call
it
plaintext
password?
It
should
be
called
just
password
so
like
by
not
having
it.
We
cannot
avoid
this
whole.
You
know
it
may
be
a
small
problem,
but
we
just
avoid
it.
B
A
D
Most
of
the
time
well
sure
they're
doing
in
this
first,
but
this
is
this-
is
a
this
is
just
handled
by
their
start
command,
so
late,
they're,
the
one
actually
writing
this
code,
not
the
actual
user.
You
a
script
or
people
using
powers,
are
just
going
to
start
processing
passing
your
password
and
power
strip
on
you've.
Seen
this
phone
I.
A
Mean
my
mother,
consumers
expedia
method.
It
just
takes
five
strings.
It
just
seems
weird,
like
a
region
like,
for
the
other
one
UD
said
some
sort
of
like
structure
to
that,
and
now
they
are
all
some
the
same
thing.
I
know
the
one
is
taking
a
secure
soon
when
isn't
taking
a
secure
screen.
It's
a
bit
of
a
thing.
The
only
argument
in
favor
of
that
is,
it
makes
14
code
easier
right,
but.
C
D
A
B
D
D
A
A
A
C
A
A
D
B
D
A
D
B
D
A
D
C
D
C
B
D
B
D
B
D
A
C
D
B
C
D
D
C
D
A
So,
like
those
ones,
I
still
click
on
the
wrong
thing.
I
need
to
take
on
the
other
screen.
That's
misleading,
so
listen,
oh
cool,
and
then
we
said
this
guy
needs
an
attribute
all
right,
yeah
for
desktop.
That's.