Of course the example above contains made-up public and private keys
Are you certain it's a private key?
This is an example.
By the way: it is not too difficult to create a program which resolves single-char-errors in base58check
I can do it today. May be.
But.
What I want to say.
You should run it on your computer, you should not give me your broken private key!
Because I am not sure of myself

My very dirty code (with my test example!):
static const char base58Characters[59] = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
static const QByteArray p ( "L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBCU2z8TrisoyY1" ); // missing character
for ( int i ( 0 ); i <= p.size ( ); i++ )
{
printf ( "." );
for ( int j ( 0 ); base58Characters [j]; j++ )
{
QByteArray tmp ( p );
tmp.insert ( i, base58Characters [j] );
if ( MyKey32::fromWifCheck ( tmp.constData ( ) ) )
{
_trace ( "" );
_trace ( MyKey32::fromWif ( tmp.constData ( ) ).toStringWif ( true ) );
_trace ( MyKey32::fromWif ( tmp.constData ( ) ).getAddressHashCompressed ( ).toString ( ) );
}
}
}
And the console output:
.......................................
"L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1"
"1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV"
.............