Migrating user accounts to Okta
The number of iterations is wrong. The stored value is the power of 2, encoded using a Base64 alphabet. D means 32768 iterations (215).
The other issue you have is that the hash and salt values are Base64 encoded, but using the same alphabet used by cript() (the POSIX function also part of the BSD Library). The PHP code Drupal uses to encode is the following one. It may be helpful to write the JavaScript code you need.
function _password_base64_encode($input, $count) {
  $output = '';
  $i = 0;
  $itoa64 = _password_itoa64();
  do {
    $value = ord($input[$i++]);
    $output .= $itoa64[$value &amp; 0x3f];
    if ($i &lt; $count) {
      $value |= ord($input[$i]) &lt;&lt; 8;
    }
    $output .= $itoa64[$value &gt;&gt; 6 &amp; 0x3f];
    if ($i++ &gt;= $count) {
      break;
    }
    if ($i &lt; $count) {
      $value |= ord($input[$i]) &lt;&lt; 16;
    }
    $output .= $itoa64[$value &gt;&gt; 12 &amp; 0x3f];
    if ($i++ &gt;= $count) {
      break;
    }
    $output .= $itoa64[$value &gt;&gt; 18 &amp; 0x3f];
  } while ($i &lt; $count);
  return $output;
}

function _password_itoa64() {
  return './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
}

The full code used from Drupal 7 to hash passwords is contained in the password.inc file. In particular check the following functions:

_password_itoa64(), the function returning the Base64 alphabet used
_password_base64_encode(), the function to encode in Base64 using that alphabet
_password_generate_salt(), the function that generates the salt
_password_crypt(), the function to hash the password, which calls all the other functions

I cannot say what should be used for saltOrder, since that isn't used from Drupal code and it's specific for the platform to which you are migrating the users.